The Computer Language
24.04 Benchmarks Game

mandelbrot

First a few simple programs.

Then optimisations, multicore parallelism, [pdf] vector parallelism.

Last hand-written vector instructions and "unsafe" programs.

  source secs mem gz    
  C gcc #2 24.97 19,520 412    
  C clang #2 25.43 19,680 412    
  Intel C #2 23.89 19,728 412    
 
 
 
× source secs mem gz cpu secs cpu load
1.0 Matz's Ruby #3 2h 20 min 11,168 307 2h 20 min 7% 14% 55% 26%
1.7 PHP 86.84 19,396 452 86.84 0% 100% 0% 0%
1.7 C gcc #2 24.97 19,520 412 24.97 0% 100% 0% 0%
1.7 Dart #2 29.80 19,536 494 29.80 0% 0% 0% 100%
1.7 Dart 183.52 19,536 462 183.51 100% 0% 0% 0%
1.8 Python 3 #3 13 min 19,624 319 13 min 0% 0% 100% 0%
1.8 Python 3 #5 274.66 19,628 463 18 min 99% 99% 99% 99%
1.8 Python 3 #7 159.49 19,656 698 10 min 99% 99% 99% 99%
1.8 Rust #3 1.14 19,656 1013 4.51 100% 100% 100% 99%
1.8 Dart #3 15.33 19,664 620 15.32 0% 0% 0% 99%
1.8 Lua #3 5 min 19,672 364 5 min 0% 0% 100% 0%
1.8 Lua 5 min 19,672 365 5 min 100% 0% 0% 0%
1.8 Lua #2 6 min 19,672 373 6 min 0% 100% 0% 0%
1.8 Free Pascal #3 26.52 19,680 533 26.52 100% 0% 0% 0%
1.8 Swift 26.40 19,680 400 26.40 100% 0% 0% 0%
1.8 OCaml #6 28.68 19,688 450 28.68 0% 0% 100% 0%
1.8 Ada 2012 GNAT #2 28.26 19,712 583 28.26 100% 0% 0% 0%
1.8 C++ g++ #3 27.26 19,804 421 27.25 100% 0% 0% 0%
1.8 OCaml 7.55 19,812 723 30.02 99% 99% 99% 99%
1.9 Ruby #3 25 min 21,120 313 25 min 100% 0% 0% 0%
2.8 C# .NET #2 45.95 31,572 504 45.90 99% 0% 0% 0%
2.9 Go #6 6.89 32,768 707 27.40 99% 99% 99% 99%
3.0 Free Pascal 10.98 33,024 833 29.41 43% 38% 93% 93%
3.0 Free Pascal #8 3.90 33,024 958 15.47 99% 99% 99% 99%
3.0 Free Pascal #2 10.96 33,024 833 29.39 93% 93% 43% 38%
3.0 Go #2 6.85 33,152 843 27.29 99% 99% 99% 99%
3.0 Rust #7 1.06 33,280 763 4.21 99% 100% 99% 99%
3.0 Rust #8 1.06 33,280 770 4.21 100% 100% 100% 99%
3.0 C gcc #9 4.22 33,280 700 16.30 100% 95% 96% 95%
3.0 Rust #4 0.96 33,280 1301 3.78 100% 100% 100% 99%
3.0 Go 5.01 33,408 829 19.98 99% 99% 99% 99%
3.0 C gcc #8 1.63 33,536 788 6.30 95% 95% 96% 99%
3.0 Rust #5 1.12 33,920 725 4.40 98% 98% 98% 100%
3.0 Rust #6 1.07 34,048 1338 4.20 98% 98% 98% 100%
3.1 C++ g++ #2 16.90 34,560 700 16.90 0% 100% 0% 0%
3.1 C++ g++ #5 13.33 34,688 596 13.33 0% 0% 100% 1%
3.1 C++ g++ #8 4.79 35,072 749 13.12 37% 99% 99% 38%
3.2 C++ g++ #9 3.50 35,200 732 13.49 96% 95% 99% 96%
3.2 Go #4 3.76 35,328 912 14.92 99% 99% 99% 99%
3.2 C++ g++ #0 2.35 35,328 2752 9.28 98% 98% 99% 98%
3.2 Go #3 3.76 35,456 900 14.94 99% 100% 99% 99%
3.2 Free Pascal #6 7.45 36,096 788 29.64 100% 99% 99% 99%
3.3 Ada 2012 GNAT #3 3.92 36,736 1825 15.43 99% 99% 98% 99%
3.3 Free Pascal #7 6.55 36,992 930 26.05 99% 99% 99% 100%
3.4 Chapel 6.66 37,632 447 26.42 99% 100% 99% 100%
3.4 Chapel #3 1.17 37,760 582 4.64 100% 100% 99% 99%
3.4 F# .NET #2 7.22 38,032 1054 28.29 99% 98% 98% 98%
3.5 Rust 1.83 39,296 874 7.20 99% 98% 99% 98%
3.7 Java  25.70 41,388 671 25.76 0% 99% 0% 0%
3.8 Lisp SBCL #4 4.18 42,752 2453 16.60 99% 99% 99% 99%
3.9 Swift #5 7.21 43,520 665 26.95 100% 91% 91% 91%
3.9 Classic Fortran #5 45.21 43,648 528 45.21 100% 0% 0% 0%
4.0 Haskell GHC #2 12.34 45,184 789 49.13 99% 99% 99% 99%
4.3 PHP #3 23.33 48,384 881 92.86 99% 99% 99% 99%
4.3 Node js 136.10 48,576 380 136.11 0% 0% 100% 0%
4.5 Lisp SBCL #3 9.70 50,048 900 25.95 34% 99% 99% 34%
4.6 Lisp SBCL 4.75 50,944 2478 16.49 99% 98% 76% 74%
4.8 Node js #2 28.35 53,784 422 28.38 8% 0% 0% 92%
5.0 VW Smalltalk 5 min 55,296 609 5 min 0% 0% 0% 100%
5.8 C# .NET #5 4.02 64,276 851 15.75 97% 99% 98% 97%
5.8 C# .NET #3 6.80 64,652 722 26.77 99% 98% 98% 98%
6.4 Matz's Ruby #2 45 min 71,144 880 2h 59 min 100% 100% 100% 99%
6.5 Erlang #3 52.26 72,520 798 208.31 99% 99% 99% 99%
6.5 Dart #4 4.23 72,704 988 16.59 98% 99% 98% 97%
6.6 Erlang #4 54.50 73,988 813 217.27 99% 99% 99% 99%
6.8 Classic Fortran #8 1.42 75,392 965 5.59 98% 100% 98% 98%
6.8 Classic Fortran #4 10.27 75,904 626 26.58 91% 32% 91% 43%
6.8 Classic Fortran #6 3.27 75,904 669 10.86 77% 78% 77% 99%
6.8 Racket 49.27 75,972 524 49.27 0% 0% 100% 0%
6.9 Perl 9 min 76,928 592 37 min 100% 100% 100% 100%
7.4 Java #6 4.28 83,056 808 16.84 99% 98% 98% 98%
7.4 Java #2 4.13 83,152 802 16.22 98% 98% 99% 98%
7.5 Java #3 7.86 83,424 910 30.96 99% 99% 99% 98%
7.7 Ruby #5 151.07 86,272 978 10 min 99% 99% 100% 99%
8.4 Ruby #2 259.17 94,336 887 17 min 99% 99% 99% 99%
9.4 Java #4 4.45 104,488 667 16.20 86% 96% 84% 98%
11 Node js #3 4.05 125,696 1128 15.99 99% 99% 99% 99%
12 Ruby #4 11 min 136,132 862 11 min 24% 26% 27% 22%
13 Matz's Ruby #4 2h 31 min 146,560 857 2h 31 min 67% 24% 0% 9%
14 Python 3 #2 232.82 156,340 790 14 min 93% 93% 100% 93%
17 VW Smalltalk #2 102.04 189,824 935 5 min 78% 88% 93% 87%
17 Matz's Ruby #6 44 min 194,148 890 2h 46 min 93% 93% 93% 93%
23 Haskell GHC 52.21 260,352 628 53.00 0% 88% 4% 7%
24 Julia 26.45 271,104 379 26.53 99% 0% 0% 0%
25 Lua #6 113.21 282,112 630 6 min 81% 85% 99% 85%
26 Julia #8 1.42 289,152 634 4.87 86% 98% 80% 79%
26 Julia #7 1.40 290,176 629 4.79 90% 79% 79% 95%
26 Julia #6 2.09 290,228 571 5.69 53% 52% 82% 83%
27 Julia #4 1.97 297,984 583 5.22 40% 83% 85% 58%
28 Julia #5 1.58 310,400 580 5.59 88% 99% 84% 82%
28 Julia #3 1.50 315,904 589 5.20 82% 82% 89% 96%
Dart #6 Bad Output
Erlang Bad Output
Erlang #2 Bad Output
F# .NET #5 Make Error
F# .NET Make Error
F# .NET #6 Make Error
Haskell GHC #3 Make Error
Ruby #6 Failed
Ruby #7 Failed
Matz's Ruby #5 Failed
Matz's Ruby #7 Failed
Swift #3 Bad Output
 
 
  hand-written vector instructions | "unsafe"
 
× source secs mem gz cpu secs cpu load
2.9 C gcc #3 3.54 32,768 769 14.07 99% 100% 100% 100%
2.9 C gcc 3.49 32,896 828 13.88 100% 99% 99% 100%
3.0 C gcc #7 3.49 33,152 1000 13.89 99% 99% 99% 100%
3.0 C gcc #4 3.48 33,152 805 13.85 100% 99% 99% 99%
3.0 C gcc #6 1.28 33,280 1141 5.11 100% 100% 100% 100%
3.1 C++ g++ 0.89 34,944 1797 3.46 97% 100% 97% 96%
3.1 C++ g++ #6 0.98 35,072 1014 3.89 100% 100% 100% 99%
3.1 C++ g++ #7 3.49 35,072 1023 13.90 100% 99% 99% 99%
3.2 C++ g++ #4 0.89 35,200 3554 3.47 98% 97% 97% 98%
4.2 Swift #7 1.34 47,104 1147 5.30 99% 98% 100% 99%
4.5 Swift #6 1.45 50,176 1147 5.73 99% 99% 99% 99%
6.0 C# .NET #9 3.23 66,560 822 12.59 99% 97% 97% 97%
6.0 C# .NET 3.23 66,812 1980 12.56 97% 97% 97% 99%
6.6 Racket #2 51.25 73,732 592 51.25 0% 100% 0% 0%
6.8 Racket #3 34.73 76,156 808 34.73 0% 0% 100% 0%
12 Racket #4 10.56 135,104 810 41.33 99% 97% 97% 97%