Linux 上,随便测了一下,o2 和 o3 结果没有什么区别,所以下面就只测了 o2,和 o2 以下,o3 就没有再测试了。
测试机:
1). Windows xp sp2:
CUP:Celeron D 3.33G 单核
Memory:512 MB
编译器:vc 8 (debug, release)、g++ (Dev-cpp 4.9.9.2)(no optimize, o1, o2)
2). Windows 2003 server sp1:
CUP: 奔腾 4 2.4G 双核
Memory:1 GB
编译器:vc 8 (release)
3). Fedora :
CUP:奔腾 D 3G 双核
Memory:512 MB
编译器:g++ (no opitmize, o1, o2)
4). Redhat AS 4:
CUP:----- (忘了,应该和上面那台 Fedora 差不多-_-b)
Memory:512 MB
编译器:g++ (no opitmize, o1, o2)
测试结果:
(限于篇幅原因,仅列出 g++ -O2 和 vc 8 release 版的数据。其他调试版和非优化版真的很慢。不过 strcmp 相对却要快些。为什么?不过还是比 CompareX 系列要慢很多:))
1). 总的结果(测试机:1、3、4):
g++ o2
vc 8 release
Function: strcmp
AS 4 Average time is 3037ms
Fedora Average time is 2889ms
win g++ Average time is 1629ms
win vc8 Average time is 2670ms
Function: memcmp
AS 4 Average time is 4968ms
Fedora Average time is 4989ms
win g++ Average time is 4787ms
win vc8 Average time is 822ms
Function: CompareM
AS 4 Average time is 241ms
Fedora Average time is 233ms
win g++ Average time is 207ms
win vc8 Average time is 230ms
Function: Compare1
AS 4 Average time is 732ms
Fedora Average time is 688ms
win g++ Average time is 504ms
win vc8 Average time is 82ms
Function: Compare4
AS 4 Average time is 554ms
Fedora Average time is 552ms
win g++ Average time is 336ms
win vc8 Average time is 85ms
Function: Compare8
AS 4 Average time is 607ms
Fedora Average time is 601ms
win g++ Average time is 588ms
win vc8 Average time is 83ms
Function: Compare8b
AS 4 Average time is 615ms
Fedora Average time is 611ms
win g++ Average time is 590ms
win vc8 Average time is 83ms

