代码: 全选
Benchmarking programming languages?
How can we benchmark a programming language?
We can't - we benchmark programming language implementations.
How can we benchmark language implementations?
We can't - we measure particular programs.
21 Jul 2008
Benchmarks timed on:
Gentoo : Intel® Pentium® 4
26 Feb 2008
Benchmarks timed on:
Debian : AMD™ Sempron™
Programming language measurements A to Z
Ada 2005 GNAT large-scale safety-critical software
BASIC FreeBASIC quickbasic compatible imperative programming
C CINT seamless c c++ interpreter compiler
C Cyclone safe dialect of c Debian
C GNU gcc unchecked low-level programming
C Intel unchecked low-level programming
C Tiny unchecked low-level programming Debian
C# Mono oo plus functional style (mono is not ms .net)
C++ GNU g++ c plus objects plus generics
C++ Intel c plus objects plus generics
CAL lazy functional programming for jvm
Clean lazy & strict pure functional programming
D Digital Mars c++ reduced and simplified
D GNU c++ reduced and simplified Debian
Dylan Gwydion multi-method oo programming Debian
Eiffel SmartEiffel everything is an object plus design by contract
Erlang concurrent real-time distributed fault-tolerant software
Erlang HiPE jit native code compiler for erlang
F# Mono higher-order type-safe programming (mono is not ms .net)
Forth bigForth extensible postfix stack programming
Forth GNU GForth extensible postfix stack programming
Fortran G95 pioneering numeric and scientific programming
Fortran Intel pioneering numeric and scientific programming
Groovy “agile” “dynamic” “java compatible” for jvm
Haskell GHC lazy pure functional programming
Icon high-level string processing
Io everything is a prototype object minimalism
Java 1.4 -server ubiquitous jit server virtual machine
Java 6 -client ubiquitous jit client virtual machine
Java 6 -server ubiquitous jit server virtual machine
Java 6 -Xint ubiquitous bytecode interpreter virtual machine
Java 6 -Xms64m initial java server heap size 64m
Java GNU gcj optimizing ahead-of-time compiler
JavaScript JavaScriptCore WebKit-based ECMA scripting implementation Debian
JavaScript Rhino web-browser to jvm scripting
JavaScript SpiderMonkey ubiquitous web-browser embedded scripting
Lisaac everything is a prototype object plus design by contract
Lisp SBCL pioneering s-expression oriented programming
Lua associative arrays for extensible embedded scripting
Lua LuaJIT jit compiler fully compatible with lua 5.1
Matlab GNU Octave linear and nonlinear problems and numerical experiments Debian
Mercury functional & logic programming
Mozart/Oz multi-multi-multi-paradigm distributed programming
Nice multi-method type-safe oo for jvm
Oberon-2 OO2C modular programming plus objects
Objective-C GNU c plus a thin layer of smalltalk Debian
OCaml modular type-safe strict functional programming plus objects
OCaml (bytecode) modular type-safe strict functional programming plus objects Debian
Parrot PIR intermediate code for parrot byte code or parrot asm Debian
Pascal Free Pascal imperative programming plus objects
Perl server-side shell & cgi scripts
PHP scripts embedded in html, and much more
Pike explicitly-typed dynamic oo programming
Prolog SWI goal-oriented pattern-matching rules and facts
Prolog YAP goal-oriented pattern-matching rules and facts
Python uncluttered imperative programming plus objects
Python IronPython scripting for .net (mono is not ms .net)
Python Psyco representation-based just-in-time specialization
Rebol metadata scripting for distributed computing
Rexx Regina historic - originally ibm - scripting Debian
Ruby programmer fun - everything is an object scripting
Ruby Core 1.9.0 yet another ruby virtual machine
Ruby JRuby everything is an object scripting for jvm
S-Lang embeddable extension language Debian
Scala higher-order type-safe programming for jvm
Scheme Bigloo statically-scoped properly tail-recursive dialect of lisp Debian
Scheme Chicken translate scheme source to portable c code
Scheme Ikarus R6RS compatible incremental compiler
Scheme PLT statically-scoped properly tail-recursive dialect of lisp
Smalltalk GNU uniform reflective environment - for scripting
Smalltalk Squeak uniform reflective environment - real live objects
Smalltalk VisualWorks uniform reflective environment - real live objects
SML MLton whole-program optimizing compiler
SML SML/NJ modular type-safe strict functional programming
Tcl everything is a string - programmable programming
Zonnon Mono active objects (mono is not ms .net)
Outsourcing the performance-intensive functions
测试结果:
http://shootout.alioth.debian.org/