关于C和C++,还有c#,还有java程序的速度问题!

来源:互联网 发布:淘宝购物车服务出错 编辑:程序博客网 时间:2024/05/16 18:05

为了感性的评价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语言的:

首先要实现计算时间的功能:

文件:stopwatch.h

 

  file:stopwatch.c

 

 

然后实现了测试函数

filename:work_test.h

 

filename:work_test.c

 

 

 

 

 

 

 

 

 

 

 

 

 

最后是主函数实现:

filename:main.c

 

 

 






 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击