一直想知道Java和C#到底哪个跑得更快一些,刚好最近写了一个f(n) = n的C#程序,于是顺手改成Java看看二者在速度上的差别。关于f(n) = n的题目请参看文章:f(n) = n的优化(二) 文章中的C#代码照搬不变的转换成Java代:
}

部分结果如下:
535199986       耗时    35078ms
535199987       耗时    35078ms
535199988       耗时    35078ms
535199989       耗时    35078ms
535199990       耗时    35078ms
535200000       耗时    35078ms
535200001       耗时    35078ms
1111111110      耗时    74313ms

程序结束!
共耗时74313

  由此可见Java程序运行时间约为74s,而C#程序的运行速度约为80s,此回合Java胜出。

  二、Java和C#速度大比拼第二回合:同时修改Java和C#代码(while(N <= 1111111110)),下面列出Java代码,C#代码与之类似:

}

部分结果如下:
535199986       耗时    34828ms
535199987       耗时    34828ms
535199988       耗时    34828ms
535199989       耗时    34828ms
535199990       耗时    34828ms
535200000       耗时    34843ms
535200001       耗时    34843ms
1111111110      耗时    73656ms

程序结束!
共耗时73656

而C#程序的运行结果如下:
535199988
Total Time:     00:00:39.2187500

535199989
Total Time:     00:00:39.2187500

535199990
Total Time:     00:00:39.2187500

535200000
Total Time:     00:00:39.2187500

535200001
Total Time:     00:00:39.2187500

1111111110
Total Time:     00:01:23.1250000


Start Time:     2006-9-13 16:02:38
End Time:       2006-9-13 16:04:01
Total Time:     00:01:23.1250000
运行结束!

  由结果可以看出:
  1、第二回合中的Java程序比第一回合中的Java程序快了0.7s左右;
  2、第二回合中的C#程序非但没比第一回合中的C#程序快,反而慢了3s多,汗个,搞不懂是怎么回事,有兴趣的朋友可以自己试下!
  3、第二回合大比拼中,Java胜出!

  经此两回合的较量,不难发现:Java的运行速度略快于C#的运行速度!

相关文章: