今天做试验
环境: VS 2005; XP
用C#和C++分别都执行5000000次的Log和Cos.
C#的为Math.log10(), Math.cos()
C++的为Log()和Cos();
各执行十次,结果为:
C# C++
1 Cos 15.625 Cos 359
2 Cos 15.625 Cos 375
3 Cos 15.625 Cos 359
4 Cos 31.25 Cos 359
5 Cos 31.25 Cos 359
6 Cos 15.625 Cos 360
7 Cos 15.625 Cos 359
8 Cos 15.625 Cos 360
9 Cos 15.625 Cos 360
10 Cos 15.625 Cos 359
Average 18.75 360.9
1 Log 359.375 Log 344
2 Log 359.375 Log 344
3 Log 359.375 Log 344
4 Log 359.375 Log 344
5 Log 359.375 Log 344
6 Log 343.75 Log 344
7 Log 359.375 Log 344
8 Log 359.375 Log 343
9 Log 359.375 Log 343
10 Log 343.75 Log 344
Average 356.25 343.8
从Cos 的执行结果上看,C#明显优于C++,是其平均值的20倍. 出现的最大扰动都是16ms.
从Log 的执行结果上看,C#与C++相当.
但C#中有2次的最快执行同C++的一致.
本文通过实验对比了C#与C++中Log和Cos函数的执行效率。结果显示,在Cos函数的计算上,C#表现出显著优势,平均执行时间仅为C++的1/20;而在Log函数计算方面,两者表现相近。

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



