gloomyboyo 2010-08-18
比较了很多语言的运行速度,包括Ruby、Io、 PHP、Python、Lua、Java、Perl、Applescript、TCL、Javascript、OCaml、Ghostscript和C等。数据如下:
语言 | 时间 | 相对速度 |
ocaml compiled 3.09.2 | 0.05 seconds | 1.00 x |
SBCL 1.0.2 | 0.13 seconds | 2.43 x |
C gcc-4.0.1 | 0.14 seconds | 2.67 x |
Java 1.4.2 | 0.39 seconds | 7.49 x |
Lua 5.1 | 1.25 seconds | 23.81 x |
Io 20070410 Vector | 1.37 seconds | 26.13 x |
ocaml bytecode 3.09.2 | 3.75 seconds | 71.48 x |
Python 2.5.1 | 9.99 seconds | 190.33 x |
Ghostscript 8.51 | 11.79 seconds | 224.51 x |
Perl 5.8.6 Optimized | 12.37 seconds | 235.57 x |
TCL 8.4 Optimized | 16.00 seconds | 304.76 x |
Perl 5.8.6 | 21.75 seconds | 414.29 x |
PHP 5.1.4 | 23.10 seconds | 440.05 x |
Javascript SpiderMonkey v1.6 | 31.14 seconds | 593.10 x |
Ruby 1.8.4 | 33.05 seconds | 629.54 x |
Emacs Lisp | 47.00 seconds | 895.24 x |
Applescript | 71.75 seconds | 1366.67 x |
Io 20070410 | 85.44 seconds | 1627.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使用 CSS3,网页设计师可以使用他/她喜欢的任何字体。只需简单的将字体文件包含在网站中,它会自动下载给需要的用户。在新的 @font-face 规则中,您必须首先定义字体的名称,然后指向该字体文件。