IO是程序效率的瓶颈
来源:互联网 发布:手机淘宝怎么撤销差评 编辑:程序博客网 时间:2024/05/11 03:10
在程序运行的过程中,IO很容易成为效率的瓶颈。
假设一个程序有5个线程。一个线程读文件,并把文件内容放入到队列中去,另外4个线程处理队列中的数据,并把处理结果写入到一些文件中。
如果文件缓存较小的话,由于一直存在IO的现象,程序效率会一直比较低,尽管开了4个线程处理数据,但是这4个线程并不能充分利用CPU资源,因为一直要等文件IO完成才能继续处理。
如果文件缓存比较大,开始的时候没有写文件,因此可以以接近100%的程度来利用CPU资源进行数据处理。但是一段时间以后缓存满了,便要开始写文件,这时候程序的效率又会低下来。
解决的方法是,让程序进入写文件阶段以后,读文件的线程就暂停,四个线程处理数据和写文件完成后,再重新启动读文件线程。这样会使写文件的效率较高,减少写文件时CPU利用率低的时间段,从而提高整体的效率。
比较简单的具体实施方法是让程序定时重启。否则需要比较复杂的多线程处理。
- IO是程序效率的瓶颈
- 程序效率瓶颈-CPU检查
- 定位IO瓶颈的一些方法(iotop工具具体查看IO负载主要是落在哪个进程上)
- 定位IO瓶颈的一些方法(iotop工具具体查看IO负载主要是落在哪个进程上)
- RPC效率瓶颈
- 关于多线程io能否提高程序效率
- 原来瓶颈真的是在内存!
- javascript是widgets应用的瓶颈吗?
- javascript是widgets应用的瓶颈吗?
- javascript是widgets应用的瓶颈吗?
- 重要的是瓶颈所需时间
- 关于java的io读写,缓冲区是如何提高读写效率的???
- 关于java的io读写,缓冲区是如何提高读写效率的?
- 关于c++IO的效率
- VC的Profile(测试程序瓶颈)
- 监控IO瓶颈
- 测试程序的效率
- 提高程序的效率
- p2p 视频的几点想法
- 认识VLSM与CIDR
- 生活教给我们的.............
- 好毒的她
- sql数据类型
- IO是程序效率的瓶颈
- 考试复习
- 时间真的不多了哦
- 虾米播播
- 数学之美系列 4 -- 怎样度量信息?
- 老调重弹:const char*, char const* and char *const
- 无聊IT
- 数据库导入导出命令
- Linux下常用函数-环境变量函数