Java和C语言哪个更快?
Java和C语言哪个更快?
我之前在某人的博客中看到一篇文章,他比较了很多语言的运行速度,包括Ruby、Io、 PHP、Python、Lua、Java、Perl、Applescript、TCL、ELisp、Javascript、OCaml、Ghostscript和C等。
数据如下:语言时间相对速度ocaml compiled 3。09。20。05 seconds1。00 xSBCL 1。0。20。13 seconds2。43 xC gcc-4。0。10。14 seconds2。67 xJava 1。4。20。
39 seconds7。49 xLua 5。11。25 seconds23。81 xIo 20070410 Vector1。37 seconds26。13 xocaml bytecode 3。09。23。75 seconds71。48 xPython 2。
5。19。99 seconds190。33 xGhostscript 8。5111。79 seconds224。51 xPerl 5。8。6 Optimized12。37 seconds235。57 xTCL 8。4 Optimized16。
00 seconds304。76 xPerl 5。8。621。75 seconds414。29 xPHP 5。1。423。10 seconds440。05 xJavascript SpiderMonkey v1。631。14 seconds593。
10 xRuby 1。8。433。05 seconds629。54 xEmacs Lisp47。00 seconds895。24 xApplescript71。75 seconds1366。67 xIo 2007041085。44 seconds1627。
47 x可以看到Java几乎比C慢两倍!但是接着我发现他用的是Java的老版本而且只实验了一次,这实际上并不能够真实地体现Java的速度。于是我迅速写了点代码运行100三次,并用我认为 “快”的方式运行(其实还有更快的,只是我比较懒没有设定)。
结果如下:$ java -server -XX:CompileThreshold=1 Mandelbrot 2>/dev/nullJava Elapsed 2。994Java Elapsed 1。926Java Elapsed 1。955 $ gcc -O8 mandelbrot。
c$ 。/a。out 2>/dev/nullC Elapsed 2。03C Elapsed 2。04C Elapsed 2。05 C 仍然赢得了第一轮,但接下来的两次明显Java快。当然,结果会因为代码和机器的不同而不一样,但有一点可以确定:Java运行相当快。
这次测试用的版本是Java 1。6。0—b105 和gcc 4。1。2,用的电脑是苹果,内核是酷睿双核2。33GHz ,Linux操作系统。处于好玩,我还在Rhino编辑器上运行了JS的测试:$ java -cp rhino1_6R5/js。
jar -server -XX:CompileThreshold=1 org。mozilla。javascript。tools。shell。Main -O 9 mandelbrot。js 2>/dev/nullJavaScript Elapsed 21。
95JavaScript Elapsed 17。039JavaScript Elapsed 17。466JavaScript Elapsed 17。147在这个测试中,JS比C慢九倍。如果CPU的速度没18个月翻一番,那么2007年JS的运行速度就赶上2002 C 的速度了。
后来在C语言 的测试中加了些cpp,-march=pentium4发挥了点作用,但结果还是比Java慢:$ gcc -O9 -march=pentium4 mandelbrot2。c$ 。/a。out 2>/dev/nullC Elapsed 1。
99C Elapsed 1。99C Elapsed 1。99代码业已经提供给您,是C语言快还是Java快,您觉得呢?。
问:C语言是因为改进了B语言而叫C语言,那JAVA语言是因为什么叫的JAVA?
答:当初SUN公司为了出品一种新的,与平台无关的,可以统一消费电子产品程序设计的语言,分派James Gosling作为此项目的负责人。 而James Goslin...详情>>