我要啦免费统计
问题背景:上w个大小 从几百k 到九百多m 分布的文件校验,速度过慢

方案尝试:多线程和单线程

线程池 校验 和 单线程顺序校验。
-------------------

199个文件
单线程
 18:25:33] is ok
[2013-04-17 18:26:12] is ok
39s
多线程:
[2013-04-17 18:28:39] check is ok!
[2013-04-17 18:29:15] check is ok!
36s
----------------------------
240文件
单线程:
[2013-04-17 18:52:21] is ok
[2013-04-17 18:52:59] is ok
38
多线程:
[2013-04-17 19:58:49] check is ok!
[2013-04-17 19:59:31] check is ok!
42
-----------------------
性能相差不大,cpu94% 左右 io 很大 估计瓶颈是 io
未完待续……

结果和执行方案,参考 http://www.cppblog.com/cdy20/archive/2013/04/19/199563.html

欢迎指点批评 。

经过这两天实验。
最后确认 io 确实是瓶颈。
posted on 2013-04-17 20:03 阅读(2078) 评论(9)  编辑 收藏 引用 所属分类: life

评论:
# re: 多线程 md5 较验 和 单线程校验 性能评价[未登录] 2013-04-18 07:25 | 万连文
这是最典型的滥用技术案例,总时间显然单线程要短,第一个试验如果数据没错就可能是多核的原因。  回复  更多评论
  
# re: 多线程 md5 较验 和 单线程校验 性能评价[未登录] 2013-04-18 09:32 | Korall
多线程本来天生就可以解决IO瓶颈  回复  更多评论
  
# re: 多线程 md5 较验 和 单线程校验 性能评价 2013-04-18 14:02 | 蔡东赟
@万连文
求指导  回复  更多评论
  
# re: 多线程 md5 较验 和 单线程校验 性能评价 2013-04-18 14:13 | 蔡东赟
@万连文
我采用线程数 =系统cpu 核数
的方式处理
  回复  更多评论
  
# re: 多线程 md5 较验 和 单线程校验 性能评价 2013-04-18 16:53 | 万连文
多线程只是把一个长处理分片执行,并不是也无法节省时间,如果你打算充分发挥硬件资源优势,应该是多核编程。
不太明白你现在的目的。  回复  更多评论
  
# re: 多线程 md5 较验 和 单线程校验 性能评价 2013-04-18 17:57 | 蔡东赟
@万连文
文件多,校验md5时间长 上w个文件。
想减少校验时间  回复  更多评论
  
# re: 多线程 md5 较验 和 单线程校验 性能评价 2013-04-18 18:46 | 万连文
@蔡东赟
多核编程不是多线程,线程不会给你带来任何时间的节省!!!!,只能更长。
时间的优化几乎只有一种可能就是空间。现在多核处理器下又多了一种方式就是多核编程。  回复  更多评论
  
# re: 多线程 md5 较验 和 单线程校验 性能评价 2013-04-18 19:46 | 蔡东赟
@万连文
ok 回家看看这方面的资料 谢了。其实我也苦于没有人指点。
谢谢哦  回复  更多评论
  
# re: 多线程 md5 较验 和 单线程校验 性能评价 2013-04-19 10:06 |
不懂  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理