Welcome 微信登录

首页 / 操作系统 / Linux / 基于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