The Computer Language
24.11 Benchmarks Game

Measured : Which programming language is fastest?


My question is if anyone here has any experience with simplistic benchmarking and could tell me which things to test for in order to get a simple idea of each language's general performance?

There's more than one right answer.

Choose your answer.


As-fast-as C [pdf] or as-fast-as SSE and AVX?

Choose your answer.

Answer for a few un-optimised fannkuch-redux programs —


Un-optimised single-thread #8 programs transliterated lowest-common-denominator style into different programming languages from the same original.

  source code secs mem gz    
  Swift #8 35.13 19,444 470    
  C clang #8 36.39 19,492 483    
  C gcc #8 39.33 19,492 483    
  Intel C #8 42.86 19,492 483    
  C# .NET #8 43.80 28,760 519    
  Java #8 45.90 42,568 517    
  Go #8 46.13 19,440 500    
  Node.js #8 58.06 51,484 452    
  Dart #8 70.09 19,620 508    
  Java -Xint #8 11 min 36,720 517    
  PHP #8 28 min 19,700 477    
  Ruby yjit #8 33 min 20,736 418    
  Python 3 #8 37 min 19,312 414    

Or choose your answer for Rust and Julia and Haskell and … crowd sourced fannkuch-redux programs.

Answer for the fastest 200 contributed programs —


Eight simple tasks. A couple of dozen different programming languages. Altogether about 200 programs that are faster than the other crowd-sourced same-language-implementation programs.

Explore the measurements with box plot charts — medians, dispersion, skew.


Benchmark program elapsed seconds compared to the fastest for more programming language implementations.

The median-line for some language implementation groups seems to fall outside the IQR box for other groups. Choose your answer for likely differences between the groups.

Answer for A versus B —


Side-by-side comparison tables for the most popular searches.

Differences in approach — to memory management, parallel programming, regex, arbitrary precision arithmetic, implementation technique — are part and parcel of using different programming languages.

Choose your answer for the particular comparison that interests you.


Sitemap —

more-similar less-idiosyncratic
energy efficiency
startup
too simple
box plot charts
a history
how programs are measured
toy programs
project repo
license
   
fannkuch-redux
n-body
spectral-norm
mandelbrot
fasta
k-nucleotide
   
reverse-complement
binary-trees
pidigits
regex-redux
   
Ada  
  C gcc
C gcc  
  Ada
  Intel C
  C clang
  C++ g++
  Intel Fortran
  Free Pascal
  Rust
Intel C  
  C gcc
  C clang
  Rust
C clang  
  Chapel
  C gcc
  Intel C
  Haskell GHC
  Julia
  Lisp SBCL
  OCaml
  Rust
  Swift
Chapel  
  C clang
  Intel Fortran
  Julia
C++ g++  
  C gcc
  C# aot
  C# .NET
  Go
  Java
  Java GraalVM
  Rust
  Swift
C# aot  
  C++ g++
  C# .NET
  Go
  Swift
C# .NET  
  C++ g++
  C# aot
  F# .NET
  Go
  Java GraalVM
  JavaScript Node.js
  Swift
Dart  
  Dart jit
  JavaScript Node.js
Dart jit  
  Dart
Erlang  
  JavaScript Node.js
  Python
  Ruby yjit
Intel Fortran  
  C gcc
  Chapel
  Julia
F# .NET  
  C# .NET
  OCaml
Go  
  C++ g++
  C# aot
  C# .NET
  Java
  Java GraalVM
  JavaScript Node.js
  Rust
  Swift
Haskell GHC  
  C clang
Java  
  C# .NET
  C++ g++
  Go
  Java -Xint
  Java GraalVM
  Java OpenJ9
  JavaScript Node.js
  Swift
Java -Xint  
  Java
  Python
Java GraalVM  
  C++ g++
  C# .NET
  Java
Java OpenJ9  
  Java
JavaScript  
  C gcc
  C# .NET
  Dart
  Erlang
  Java
  Ruby yjit
  Rust
Julia  
  Chapel
  C clang
  Intel Fortran
Lisp SBCL  
  C clang
  Racket
Lua  
  Perl
  Python
  Ruby yjit
OCaml  
  C clang
  F# .NET
Free Pascal  
  C gcc
Perl  
  Lua
  Ruby yjit
PHP  
  Java
  Python
  Ruby yjit
Python  
  C++ g++
  Erlang
  Go
  Java
  Java -Xint
  JavaScript Node.js
  Lua
  PHP
  Ruby yjit
Racket  
  Lisp SBCL
Matz's Ruby  
  Ruby yjit
Ruby yjit  
  Erlang
  JavaScript Node.js
  Lua
  Perl
  PHP
  Python
  Matz's Ruby
Rust  
  C clang
  C gcc
  Intel C
  C++ g++
  Go
  JavaScript Node.js
  Swift
Pharo Smalltalk  
  Python
  VW Smalltalk
Swift  
  C clang
  C++ g++
  C# aot
  C# .NET
  Go
  Java
  Rust
Toit  
  Micro Python