赞
踩
最近买了个广达的TW8,配SP9400 cpu,320G硬盘,2G内存,感觉速度很快。
但是和同事去年的台式机编译同一个工程时,感觉速度不大对头。我编译一个模块需要62秒钟,他只需要52秒。同事去年配置的台式机,E2200CPU,普普通通而已。
于是,实测了一下,看看瓶颈在哪里。
先看cpu,我的sp9400跑super pi 104万位,19秒;他的E2200,104万位27秒。我的快。
内存,速度相当,我的稍微高一点。
硬盘,应该关系不大,因为我已经把工程建立在虚拟盘上了,虚拟盘的速度绝对不是硬盘能比的。
那为啥我的编译速度就比台式机慢呢?
上网下载了一个filemon,一看才发现,公司统一指定安装的杀毒工具MCAFEE在编译过程中一直在扫描文件;而且我后来安装的一个主动式防毒工具threatfire也在忙活。于是,卸载掉threatfile。
速度提升了不少,编译上面提到的模块,时间缩短到了40多秒。再检查MCAFEE的配置,将代码所在的目录设置为不扫描。
重新编译,发现时间缩短到了25秒。
整个过程中,我一直使用了eboostr,我设置这个工具将常用的C盘文件缓冲到虚拟盘,似乎有点作用,但奇怪的是,退出后eboostr后,仍然没有降低编译速度。
测试另外一个模块,效率提升更加惊人,原来需要8分钟,现在只需要2分钟10秒。
看来,提高编译速度有几个途径:
1、加大内存,并设立虚拟盘。
2、关闭杀毒工具。
3、使用eboostr来缓冲常用的文件。
其实,真正的瓶颈,是硬盘对编译过程中的大量小文件,频繁随机访问效率低下,所以解决之道是使用Filemon,找到是哪些线程一直在访问硬盘,并作出调整,尽可能让编译时,硬盘灯不要闪烁。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。