在我们寻求优化 Delphi 编译时间的过程中,我们发现不同 PC 之间的编译时间存在一些奇怪的差异。
问题在于,在某些 PC 上,“原始”编译时间比慢速编译时间快 2 倍,我们根本无法解释为什么会出现这种情况。
测试设置
我们在 3 台配置几乎相同的不同 PC 上测试了编译时间。这是从我们的 IT 部门交付和配置的带有 Windows 7 Enterprise 64 位服务包 1 的 PC。
Delphi是我们自己安装的,是Delphi XE with update 1。
硬件规格与 Core i7-3770 3,4 GHz 8G Ram 和 256 Gb SSD 磁盘几乎相同。
我们对所有 3 台 PC 在通用系统、磁盘和内存上的性能进行了基准测试。
我们使用带有 dcc32.exe 的命令行编译来执行测试。我们在不同的项目上进行了测试,所有项目都是从公共源存储库中提取的。
测试
经过大量测试,我们查看了不同的 Delphi 环境配置以及 Windows 7 设置。所有测试都显示在 2 台 PC 上的性能相似,而 1 台 PC 的运行速度是原来的两倍。
最后,我们制作了一个简单的测试文件,其中包含 1 个简单的类和许多增加变量的行。测试文件为 32 Mb,在高速 PC 上编译时间为 1.3s。在其他 2 台 PC 上,它需要 >3 秒
编译命令:
"c:\program files (x86)\embarcadero\rad studio\8.0\bin\dcc32.exe" -$O- -$W+ -$J+ -$YD --no-config -B -Q -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG; -U;"c:\program files (x86)\embarcadero\rad studio\8.0\lib\Win32\release" -V -VN -K00400000 -GD -NBDcp -NHHpp -NODcp ..\Test.pas
知道为什么编译时间在几乎相同的 PC 上如此不同吗?
我们可以做哪些测试来解决问题?