基于Linux的苹果电脑 C不一定比Java快

比较了很多语言的运行速度,包括Ruby、Io、 PHP、Python、Lua、Java、Perl、Applescript、TCL、Javascript、OCaml、Ghostscript和C等。数据如下:

语言时间相对速度
ocaml compiled 3.09.20.05 seconds1.00 x
SBCL 1.0.20.13 seconds2.43 x
C gcc-4.0.10.14 seconds2.67 x
Java 1.4.20.39 seconds7.49 x
Lua 5.11.25 seconds23.81 x
Io 20070410 Vector1.37 seconds26.13 x
ocaml bytecode 3.09.23.75 seconds71.48 x
Python 2.5.19.99 seconds190.33 x
Ghostscript 8.5111.79 seconds224.51 x
Perl 5.8.6 Optimized12.37 seconds235.57 x
TCL 8.4 Optimized16.00 seconds304.76 x
Perl 5.8.621.75 seconds414.29 x
PHP 5.1.423.10 seconds440.05 x
Javascript SpiderMonkey v1.631.14 seconds593.10 x
Ruby 1.8.433.05 seconds629.54 x
Emacs Lisp47.00 seconds895.24 x
Applescript71.75 seconds1366.67 x
Io 2007041085.44 seconds1627.47 x

可以看到Java几乎比C慢两倍!

但是接着我发现他用的是Java的老版本而且只实验了一次,这实际上并不能够真实地体现Java的速度。

于是我迅速写了点代码运行100三次,并用我认为 “快”的方式运行(其实还有更快的,只是我比较懒没有设定)。结果如下:

$ java -server -XX:CompileThreshold=1 Mandelbrot 2>/dev/null                            Java Elapsed 2.994                            Java Elapsed 1.926                            Java Elapsed 1.955                $ gcc -O8 mandelbrot.c                            $ ./a.out 2>/dev/null                            C Elapsed 2.03                            C Elapsed 2.04                            C Elapsed 2.05  

相关推荐