单缓冲和双缓冲的时间计算
来源:互联网 发布:mac如何查看文件大小 编辑:程序博客网 时间:2024/05/16 08:52
在块设备输入数据的过程中,首先把磁盘数据送到缓冲区,花费的时间为Ts,(简记为Ts过程)
然后把操作系统缓冲区的数据送到用户区,花费的时间为Tm,(简记为Tm过程)
最后用户进程对这批数据进行计算,花费的时间为Tc。(简记为Tc过程)
当Tc过程与Tm过程操作同一块缓冲区时,这两个操作不能并行(读写锁),Ts过程和Tm一直都不能并行
单缓冲的情况如下:
当Ts>Tc,(上图)主要是Tm与Ts不能并行,因此总时间T=(n*(Ts+Tm)+Tc)/n=Ts+Tm
当Ts<Tc,(上图)主要是Tm与Tc不能并行,因此总时间T=(n*(Tc+Tm)+Ts)/n=Tc+Tm
综上,单缓冲下总时间T=max(Ts+Tc)+Tm
双缓冲条件下,Ts过程与Tm过程可以并行,Tm过程与Tc过程不能并行
当Ts>Tc时,(上图)由于Tm<<Tc且Tm<<Ts,所以T=(n*Ts+Tm+Tc)/n=Ts=max(Tc,Ts)
当Ts<Tc时,Tm与Tc不能并行,T=(n*(Tm+Tc)+Ts)/n=Tm+Tc=max(Tc,Ts)+Tm,但Ts<Tc这种情况非常少,所以一般做题时填双缓冲的时间都填Ts>Tc情况下的max(Tc,Ts)
综上,双缓冲时间为max(Tc,Ts)
阅读全文
0 0
- 单缓冲和双缓冲的时间计算
- 单缓冲与双缓冲的区别
- 单缓冲与双缓冲的区别
- 单缓冲和双缓冲的概念、双缓冲的设置
- 双缓冲和单缓存的区别
- 单缓冲 vs 双缓冲 处理数据时间计算方法
- OpenGL单缓冲与双缓冲的区别
- OpenGL单缓冲与双缓冲的区别
- OpenGL单缓冲与双缓冲的区别
- 双缓冲和后备缓冲
- 双缓冲和后备缓冲
- VLC接收网络串流缓冲时间的计算
- VLC接收网络串流缓冲时间的计算
- VLC接收网络串流缓冲时间的计算 (转)
- 放大分析双缓冲类时间计算问题
- C的全缓冲、行缓冲和无缓冲
- 全缓冲和行缓冲的区别
- 全缓冲和行缓冲的区别
- CSS绘制简单图形
- ArrayList简单的源码分析
- 命名实体识别的两种方法
- Android改变图片属性之饱和度
- Kafka的定时消息/任务服务
- 单缓冲和双缓冲的时间计算
- 分页封装类
- 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
- PageHelper集成SpringBoot
- 工具
- 树形DP初步(2)补充例题
- 合理分析竞争对手,有效提升关键词排名
- 隐藏android中EditText中的下划线
- 制作自己的Vagrant Box