程序代码如下:
环境: Windows XP SP3+Intel Core(TM)2CPU: 主频2.5G, 4G内存. 结果汇总如下:
|
n=100000, m=3000 | |||
|
|
整数加法(G次/秒) |
单精度浮点加法(G次/秒) |
双精度浮点加法(G次/秒) |
|
Intel c++编译器 |
9.3871 |
6.19149 |
3.12903 |
|
Visual c++编译器 |
2.06383 |
0.277937 |
0.810585 |
|
n=100000000, m=1 | |||
|
|
整数加法(G次/秒) |
单精度浮点加法(G次/秒) |
双精度浮点加法(G次/秒) |
|
Intel c++编译器 |
1.5873 |
1.6129 |
0.8 |
|
Visual c++编译器 |
1.28205 |
0.266667 |
0.714286 |
结果分析: visual C++编译器对于两组参数不敏感, 结果变化不大, 而Intel C++编译器的结果有显著变化. 据Intel C++的结果来看, 在程序经过较好的优化的前提之下, 内存的访问延迟对运算速度的影响是很大的, 编程时要尽可能少量的内存访问, 尽可能多的CPU运算.
本文通过编程实验对比了Intel C++编译器与Visual C++编译器在执行整数加法、单精度及双精度浮点加法时的性能表现,并分析了内存访问延迟对运算速度的影响。
1万+

被折叠的 条评论
为什么被折叠?



