背景:
我们有一个包含 49 个项目的 C# 解决方案,它使用 VS2005 SP1(由于 Syncfusion 4.x lib 版本较旧,因此未升级到更高版本)。该项目使用 Ant 和 ISharpCode zip 库来打包组件,大部分构建时间都用在这里。我通常在办公室 PC 和家用 PC 上构建它。由于我最近修改了项目以支持 win7 x64,团队成员之一(住在美国)抱怨它比以前慢了,大约需要 7-10 分钟。
因此,我在办公室和家里的电脑上进行了测试。以下是电脑规格和构建时间——所有附加项目的完整重建:
办公室电脑: Intel Core-i3 540 3.0 GHz,2 核,4MB L3、4GB RAM(1333-DDR3)、Win7 x64 Ultimate(最近安装)
建造时间:1分13秒
家用电脑:英特尔奔腾双核 E2160 1.8 GHz,2 核,1MB L2、4GB RAM(1333-DDR3)、Win7 x64 Ultimate(旧安装)
构建时间:3分36秒
为了获得比办公室和家用 PC 更快的移动性和构建速度,我购买了
Dell XPS L502X 笔记本电脑和Core i7 2630QM 2.0 GHz,4 核,8 线程,6MB 缓存、4GB RAM(1333-DDR3)、Win7 x64 Home 高级配置。
构建时间:1 分 28 秒/30 秒
两台 PC(不是笔记本电脑)都运行了多个 IDE(没有构建任何东西)。两台 PC 和笔记本电脑都安装了 Avast Antivirus 和 Comodo 防火墙(有时会影响首次构建)。它应该比 core i3 系统花费的时间更少。
我以前的办公室电脑(已换成 i3)配有奔腾双核 2.6 GHz 2GB RAM 和 Win7 x86 ultimate,以前需要大约 2 分 25 秒才能构建另一个几乎相似的项目(附带 47 个项目)。根据我的要求,他们给我提供了 core i3 机器,构建同一个项目 (^) 大约需要 1 分 46 秒。
这些东西我本来是想买 Core i7 的。但是我很失望。
速度缓慢有什么具体原因吗?
答案1
笔记本电脑硬盘通常比台式机硬盘慢。编译需要占用大量磁盘空间。
因为 VS2005 不支持项目内的并行编译,所以你只能在一个核心上进行编译。每个核心,2630QM 只比 540 快 11% 左右。
因此基本上,没有理由让它变得更快。
答案2
我同意 Kev 的观点,问题出在磁盘上。使用 HDTach 或某些 HDD 基准测试实用程序检查它们。
解决方案(软件的完整源代码……无论是 java、C# 还是 C++)由许多小文件组成。
HDD 读取速度很慢。
解决方案
是什么?如果是笔记本电脑:购买 WD Black Caviar(7200rpm 高性能笔记本电脑硬盘)。
或者,如果您负担得起,可以购买 SSD。(体积较小,但 IOPS 较高。)
如果是桌面PC:SSD > 10,000RPM Raptor > 7200rpm 黑色鱼子酱 (WD) > 7200rpm 硬盘...等等。
7200rpm 黑色硬盘的速度不如 SSD(顺序读/写),但与普通 7200 或 5400rpm 笔记本电脑硬盘相比,仍然是一个巨大的提升。
(注:我不是 WD 的粉丝,我只是不知道还有哪家公司会生产这种“高性能”驱动器。如果存在,请随意编辑我的答案,并将其发布在我的评论中。)