我在两个不同的计算环境中运行相同的 C++ 实现,第一个是 Xeon 2.3 GHz 和 48 Gb 内存,第二个是 Core2 Duo 2.53 GHz 和 3 Gb 内存。对于编译,我使用了带有类似选项的 g++。我应该注意第一个系统是 64 位 Red Hat,第二个是 32 位 Ubuntu。另外,g++版本不同,第一个系统安装的是4.1.2版本,第二个系统安装的是4.6.1版本。
当我运行代码时,两个系统都返回完全相同的解决方案。对于每个系统,时间结果如下。
System-1:
真正的 0m19.623s
用户 2m13.588s
sys 0m3.118s
System-2:
真正的 0m11.229s
用户 0m11.785s
sys 0m1.496s
我有 2 个问题。
- 为什么 System-1(更好的计算环境)运行的代码比 System-2 差?
- 对于 System-1,实际时间和用户时间之间的差异是相当大的。为什么会出现这种情况?