歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java與C在整數累加的運算對比

閒來沒事,今天晚上突發奇想,在同樣平台Ubuntu 14.04,同等運算負荷的情況下測試了一下C與Java的性能。可是,最後的實驗結果讓我大吃一驚,在我的心裡也慢慢再一次對詹姆斯.高斯林(Java語言的作者)的敬意。實驗本身很簡單,各位看官也可以去做同樣的實驗。有了心得之後,不妨一起本著學習的心態,共同交流,共同成長。

下面貼出測試代碼:

C語言:

int main()
{
 int number=0,i=0;
 for(i=0;i<=1000000000;i++)
  number++;
 return 0;
}

C語言的編譯器是gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2。編譯的程序a.out的運行時間用time測出,為real    0m3.153s, user    0m3.152s,  sys    0m0.000s

Java語言:

public class tst
{
 public static void main(String[] args)
 {
  int i;
  int number=0;
  long startTime = System.currentTimeMillis();//運行起止時間
  for(i=0;i<=1000000000;i++)
   number++;
  long endTime = System.currentTimeMillis();//運行終止時間
  float seconds = (endTime - startTime)/1000F;
  System.out.println(Float.toString(seconds) + " seconds.");
 }
}

Java的編譯器是javac 1.7.0_79,java虛擬機是java version "1.7.0_79",OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2),OpenJDK Server VM (build 24.79-b02, mixed mode)。time測出的結果為:real    0m0.093s,user    0m0.088s,sys    0m0.008s(注:如果用java的函數測試的話(不考慮jvm的時間開銷)運行時間為0.006 seconds.)

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved