Banchmark
Environment
CPU: Intel Core i9-10900K 3.7GHz (uses 4 core)
Mem: 16GB
OS: ArchLinux 5.17.2 on VirtualBox
Sample Code
int fib(int n)
{
if (n < 2) {
return n;
} else {
return fib(n-1) + fib(n-2);
}
}
Result
The 39th Fibonacci Number (63,245,986)
| Language | Version | Time(sec) | Note | |
|---|---|---|---|---|
| 1 | Basic (FreeBasic) | 1.09.0 | 0.089 | -O 3 |
| 2 | Ada (GCC) | 11.2.0 | 0.092 | gnatmake -O3 |
| 3 | C (GCC) | 11.2.0 | 0.100 | gcc -O3 |
| 3 | C++ (GCC) | 11.2.0 | 0.100 | g++ -O3 |
| 5 | D (GCC) | 11.2.0 | 0.107 | gdc -O3 |
| 6 | Nim | 1.4.8 | 0.118 | -opt:speed -d:release |
| 7 | Rust | 1.60.0 | 0.122 | opt-level=3 |
| 8 | Fortran (GCC) | 11.2.0 | 0.135 | gfortran -O3 |
| 9 | C (clang) | 13.0.1 | 0.154 | clang -O3 |
| 10 | Swift | 5.6 | 0.203 | swiftc -O |
| 11 | OCaml | 4.13.1 | 0.205 | ocamlopt |
| 12 | Crystal | 1.4.0 | 0.208 | --release |
| 13 | Java (OpenJDK) | 11.0.15 | 0.209 | |
| 14 | Go | 1.18.1 | 0.213 | |
| 15 | Kotlin | 1.6.20 | 0.214 | native code |
| 16 | Pascal (FreePascal) | 3.2.2 | 0.256 | -O4 -Tlinux |
| 17 | Haskell (ghc) | 9.0.2 | 0.273 | |
| 18 | C# (Mono) | 6.12.0.0 | 0.291 | -optimize+ |
| 19 | D (dmd) | 2.099.0 | 0.311 | -O -inline |
| 20 | Kotlin | 1.6.20 | 0.321 | bytecode |
| 21 | Julia | 1.7.2 | 0.340 | |
| 22 | VisualBasic (Mono) | 0.0.0.5943 | 0.346 | /optimization+ |
| 23 | Dart | 2.16.2 | 0.362 | |
| 24 | Standard ML (MLton) | 20210117 | 0.412 | |
| 25 | Swift | 5.6 | 0.421 | JIT |
| 26 | Chapel | 1.26.0 | 0.467 | |
| 27 | V | 0.2.4 | 0.481 | compiled |
| 28 | Scala | 2.13.8 | 0.513 | bytecode |
| 29 | Lua | 5.4.4 | 0.538 | luajit |
| 30 | Javascript (Nodejs) | 17.9.0 | 0.539 | |
| 31 | V | 0.2.4 | 0.631 | |
| 32 | Erlang | OTP 24 | 0.645 | |
| 33 | Lisp (sbcl) | 2.2.2 | 0.833 | |
| 34 | Elixir | 1.13.2 | 1.006 | |
| 35 | PHP | 8.1.5 | 1.138 | opcache.jit=tracing |
| 36 | Javascript (spidermonkey) | C91.8.0 | 1.142 | |
| 37 | OCaml | 4.13.1 | 1.486 | |
| 38 | Scala | 2.13.8 | 1.515 | |
| 39 | Groovy | 4.0.1 | 1.787 | |
| 40 | Clojure | 1.11.1.1105 | 2.063 | |
| 41 | PHP | 8.1.5 | 2.088 | |
| 42 | Forth | 0.7.3 | 2.260 | gforth-fast |
| 43 | Neko | 2.3.0 | 2.929 | |
| 44 | Scheme (Chicken) | 5.3.0 | 3.412 | csc -O3 |
| 45 | Lua | 5.4.4 | 3.752 | |
| 46 | Pike | 8.0.1738 | 4.153 | |
| 47 | Smalltalk (GNU) | 3.2.92 | 4.487 | |
| 48 | Ruby | 3.1.2p20 | 4.552 | |
| 49 | Prolog (GNU Prolog) | 1.5.0 | 4.642 | gplc |
| 50 | Euphoria | 4.1.0 | 8.193 | |
| 51 | Squirrel | 3.2 | 11.057 | |
| 52 | Python | 3.10.4 | 11.184 | |
| 53 | Icon | 9.5.21b | 14.577 | |
| 54 | Prolog (SWI-Prolog) | 8.4.2 | 20.105 | |
| 55 | Oz | 2.0.1 | 20.545 | |
| 56 | Perl | 5.34.1 | 25.085 |
The 30th Fibonacci Number (832,040)
| Language | Version | Time(sec) | Note | |
|---|---|---|---|---|
| 56 | Perl | 5.34.1 | 0.316 | |
| 57 | Scheme (Chicken) | 5.3.0 | 0.482 | csi |
| 58 | bc | 1.07.1 | 0.608 | |
| 59 | Raku | 2022.03 | 0.728 | |
| 60 | R | 4.1.3 | 0.922 | |
| 61 | dc | 1.4.1 | 1.245 | |
| 62 | COBOL (GnuCOBOL) | 3.1.2.0 | 1.822 | |
| 63 | io | 2017.09.06 | 2.113 | |
| 64 | tcl | 8.6.12 | 3.126 | |
| 65 | REXX (Regina) | 3.9.4 | 3.472 | |
| 66 | APL (GNU APL) | 1.8 | 3.692 | |
| 67 | Maxima | 5.45.1 | 5.123 | |
| 68 | Octave | 7.1.0 | 9.016 | |
| 69 | Ring | 1.17 | 13.910 | |
| 70 | arturo | 0.9.80 | 127.7 | |
| 71 | Bash | 5.1.016 | - |