分享

多核心处理器上的Windows 7性能、能耗

 看见就非常 2012-05-17

在内核级别上,Windows 7相对于Windows Vista的一个重要改进就是完善对多核心处理器和多线程应用程序的支持,理论上可以带来更高的性能、更大的灵活性和更低的能耗。

那么在多核心处理器上,Windows 7的性能是否真的会高于Vista呢?我们在一台戴尔Precision T3500工作站上进行测试,配置有Nehalem Xeon W3540 2.93GHz四核心处理器、4GB内存、NVIDIA Quadro FX 4800显卡等,并使用三块完全相同的硬盘,分别安装Windows XP SP3、Windows Vista Ultimate SP2、Windows 7 Ultimate,均是32位版本。

 

测试项目
(结果越大越好)
XP SP3 Vista Ultimate SP2 7 Ultimate
SPEC Viewperf 10(关闭SMT) 95.84 142.95 139.35
SPEC Viewperf 10(开启SMT) 93.45 145.30 138.80
CineBench R10(关闭SMT) 3.43 3.40 3.48
CineBench R10(开启SMT) 3.98 4.07 4.09

在SPEC Viewperf 10测试中,Windows 7的得分相比于XP高出了45-49% 之多,看起来绝对值得升级,不过注意相比于Vista却有轻微下滑,好在差距不大。CineBench R10结果略有不同,三套系统的成绩其实相差无几,就绝对值而言Windows 7倒是最好的。

另外在开启超线程技术后,三套系统的CineBench R10成绩都有明显提升,但SPEC Viewperf 10里只有Vista获得了稍好的性能,Windows 7和XP都有小幅度倒退。

Windows 7的多线程性能看起来似乎并不比Vista强,但事实上并没有这么简单。一个线程如果要读取某个可能被其他线程使用的项目,必需使用程序锁保证任何时候只能有一个线程对其进行修改。在此前的操作系统中,线程需要访问程序锁的时候必需向内核指令分配程序锁发送请求,但这种处理机制是全局性的,所以一旦系统内处理器数量增加,就会出现瓶颈。其实这正是Windows系统(包括服务器版本)此前最多只能运行在64个处理器核心上的根本原因。

Windows 7则引入了一种新的机制,绕过全局程序锁概念,支持处理器核心数量因此增加到了256个 ,而且不会同时伴随性能损失,只不过在系统处理器核心较少的时候旧有机制并不会超载,所以Windows 7在桌面和小型服务器工作站上很难明显提高多线程性能。

再来看看另外一个话题:能耗。

Windows 7可以将多个线程处理到同一条执行管线里,因此处理器能够关闭空闲管线上的晶体管,节省能耗。我们在开启超线程的情况下在SPEC Viewperf中执行四个线程,这就意味着会有一半管线很清闲甚至空闲。

 

Viewperf能耗测试 XP SP3 Vista Ultimate SP2 7 Ultimate
平均能耗(W) 247 248 207

测试结果证明了Windows 7内核多线程处理机制的有效性,系统能耗相比XP/Vista都降低了16% ,整整40W,所以从建设节约型社会的角度说,也应该升级到Windows 7。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多