为了感性的评价c、c++、java,C#这几种语言的性能,我做了了一下测试。
请看下面测试成绩表:
从我做的几项测试看,在windows平台上,性能最好的依然是c/c++, 但是C#性能也不错,比较接近C++了。
性能差一点是java,但是也差不太多,Java在递归计算方面优化的非常好,成绩甚至超过MinGW编译的C和C++程序。但是java的性能要超过C和C++,从我的测试看,基本不可能。埃拉托色尼质数过滤算法(Sieve of Eratosthenes),网上很多人说java快,但是就我实测,java依然比c和c++慢20%-50%。(我的测试数据:c++ 1018ms java 1335ms 运行10次求的平均值)
微软的VC2010代码优化做的非常好,特别是递归特性超过MinGW编译器一倍!其他方面,GCC和VS2010基本打平。
就C语言和C++,我做的几个测试性能基本等同。C略微快那么一点点。基本可以忽略。
我的测试代码是在不同的语言下实现相同的功能,采用相同的算法,但是代码不完全相同,因为每个语言有些语法是不同的。
下面列出测试代码:
先看C语言的:
首先要实现计算时间的功能:
文件&