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

原创 2011年01月23日 02:03:00

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

 

 

 






 

 

 

 

 

 

 

 

 

 

 

比比Java和C#语言运行的快慢

前言:闲来无事,在图书馆随便看看书,发现不论是在论坛还是写书的作者都喜欢将Java和C#拿来比较一番。谈论语言的是非。所以我决定,从语言的运行快慢来比较一下究竟哪种语言快些。...
  • z702143700
  • z702143700
  • 2016年01月03日 00:17
  • 3033

Python到底有多慢? -- 比JAVA慢超10倍,比VC慢30倍!(附C#, C++, Delphi, Lazarus的效率对比)

谁都知道Python最大的缺点就是性能差,到底多差网上没有具体数据,今天自己做了一个测试 。      首先要声明一下, 这个简单测试只是通过对阵列的建立、统计的耗时比较, 本以为阵列操作是pytho...
  • rocklee
  • rocklee
  • 2015年12月17日 14:35
  • 4425

执行效率做比较,Go、python、java、c#、delphi、易语言等

比较环境,在win7   64位,比较各种语言的整数型运算,下面的比较只作为单项比较。 具体方式,40000*40000遍历相加。为了防止编译器优化,生成一个随机数。 1:c#,在NET2.0...
  • y13156556538
  • y13156556538
  • 2017年04月14日 11:43
  • 7903

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

下面列出C++的代码: 1.实现StopWatch类,做测量时间用/* filename:stopwatch.h */ #ifndef STOPWATCH_H_INCLUDED #define...
  • softman11
  • softman11
  • 2011年01月24日 21:46
  • 1444

蓝桥杯C_C++/Java程序设计常用算法&技巧总结

蓝桥杯C_C++/Java程序设计常用算法&技巧总结
  • MadJieJie
  • MadJieJie
  • 2017年04月07日 22:42
  • 827

使用Eclipse开发C++、C、Java程序

使用Eclipse开发C++、C、Java程序 注意: 对于如何使用Eclipse开发C++、C语言程序,网上有很多讲解了,如下: http://www.cnitblog.com/aimilo2...
  • Magneto7
  • Magneto7
  • 2012年12月26日 08:12
  • 1528

java程序调用C、C++动态库的几种实现方式,即JNI的应用方式

一、eclipse NDK 开发android JNI应用程序 概念解释: NDK:native development kit,本地开发包,这个工具能够开发C\C++动态库,并能自动将linux...
  • ruanniu
  • ruanniu
  • 2013年01月09日 09:37
  • 1155

使用JNI技术实现java程序调用第三方dll(c/c++)文件的功能

JAVA的跨平台的特性深受java程序员们的喜爱,但正是由于它为了实现跨平台的目的,使得它和本地机器的各种内部联系变得很少,大大约束了它的功能,比如与一些硬件设备通信,往往要花费很大的精力去设计流程编...
  • cszhmrz
  • cszhmrz
  • 2014年02月24日 12:49
  • 1715

Chap5:使用JNI技术实现java程序调用第三方dll(c/c++)文件的功能

JAVA的跨平台的特性深受java程序员们的喜爱,但正是由于它为了实现跨平台的目的,使得它和本地机器的各种内部联系变得很少,大大约束了它的功能,比如与一些硬件设备通信,往往要花费很大的精力去设计流程编...
  • zvivi521
  • zvivi521
  • 2012年04月13日 10:23
  • 836

JNI中在被调用的C/C++函数中如何访问Java程序中的类,并编写应用实例

1、在javah工具生成的C/C++函数声明中的JNIEnv类型参数和jobject类型参数的介绍 JNIEXPORT void JNICALL Java_jni_TestNative_sayhel...
  • u011955252
  • u011955252
  • 2015年11月06日 20:45
  • 619
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于C和C++,还有c#,还有java程序的速度问题!
举报原因:
原因补充:

(最多只允许输入30个字)