Q9400为何难以100%全速运行
2024-09-15 08:38:27
采用基于正域的约简。
数据:Ticdata2000 记录数:5822 条件属性:85
结果:
1、 Core i7 3632QM 4四核八线程 2.2G 动态加速3.2G 0.516s
2、 Core i3 2100 双核四线程 3.1G 0.813s
3、 Pentium 4 530 超线程关闭 3G 5.625s
4、 Core 2 Quad Q9400 四核四线程 2.66G 2.68s
无论数据集大小,Sandy Bridge及以后的CPU都能全速运行。
而对Q9400这类CPU来讲:
1、 对中小数据量(10MB以下), 即便发起64个线程,CPU利用率也只能60%-70%; 线程数低的时候,CPU利用率基本在40%左右。
2、 对于数据量大的测试集,16个线程甚至8个就足以保持开工率平均95%。 所以我的结论是:Q9400配套的内存系统太慢了。
因为存储器慢,所以CPU无事可做,发起更多线程也只能部分缓解这种情况。 对于大数据集来讲,数据有着更强的局部性,弥补了存储器慢的缺点。
想更进一步,就要做更细致的跟踪和代码调整,联想到Bloomfield以来的intel CPU全系列集成内存控制器,那就先这么认为吧。
这个问题也可以利用 Vtune进行进一步跟踪
最新文章
- xamarin学习之页面布局
- 「2014-2-26」Unicode vs. UTF-8 etc.
- Droid4x设置代理抓包
- ThinkPHP 3.2.3 中设置和使用 Session
- Entity Framework简介
- Borg Maze 分类: POJ 2015-07-27 15:28 5人阅读 评论(0) 收藏
- outlook 用宏发邮件
- 解决jQuery对表单serialize后出现的乱码问题
- android中利用实现二级联动的效果
- Library:python-memcached on Windows
- 单路CPU性能排名 更新于2015.10.6
- reload ans current configure command
- 学习笔记: 异常状态管理,托管堆垃圾回收,CLR寄宿
- abap test seam 和 TEST-INJECTION
- 云笔记项目-Spring事务学习-传播REQUIRES_NEW
- Nginx 搭建图片缓存服务器-转
- wire [7:0] regAddr; 理解
- 使用 New Relic 监控接口服务性能 (APM)
- 【转】handbrake使用教程
- String类为什么设计成不可变的