x64 Ubuntu : Intel® Q6600® one core |
Each chart bar shows how many times more Time or how many times more Memory one unidentified ↓ mandelbrot program used, compared to the program that used least Time or the program that used least Memory.
This table shows 5 measurements - CPU Time, Elapsed Time, Memory, Code and ~ CPU Load.
Compare how much Memory the mandelbrot programs used - sort Memory KB. Compare how much Code the programs used - sort Code B
Column × shows how many times more each program used compared to the program that used least.
| sort | sort | sort | sort | |||
|---|---|---|---|---|---|---|
| × | Program Source Code | CPU secs | Elapsed secs | Memory KB | Code B | ~ CPU Load |
| 1.0 | Ada 2005 GNAT #3 | 22.81 | 22.82 | 33,572 | 1805 | 0% 0% 0% 100% |
| 1.1 | C GNU gcc #6 | 24.09 | 24.09 | 30,420 | 879 | 0% 0% 0% 100% |
| 1.1 | C++ GNU g++ #5 | 25.03 | 25.03 | 31,448 | 858 | 0% 0% 0% 100% |
| 1.2 | ATS #2 | 26.47 | 26.46 | 540 | 1531 | 0% 0% 0% 100% |
| 1.2 | ATS #3 | 28.00 | 28.00 | 30,516 | 2780 | 0% 0% 0% 100% |
| 1.7 | Java 6 steady state #3 | 39.04 | 39.03 | 407,168 | 970 | 0% 0% 0% 100% |
| 1.8 | Java 6 -server #3 | 41.28 | 41.29 | 66,940 | 903 | 0% 0% 0% 100% |
| 1.9 | Java 6 -server | 44.12 | 44.15 | 14,416 | 665 | 0% 0% 0% 100% |
| 2.1 | ATS | 48.29 | 48.29 | 532 | 601 | 0% 0% 0% 100% |
| 2.1 | Scala | 48.67 | 48.67 | 46,860 | 737 | 0% 0% 0% 100% |
| 2.2 | Lisp SBCL | 49.40 | 49.40 | 69,292 | 1002 | 0% 0% 0% 100% |
| 2.2 | Haskell GHC #2 | 49.72 | 49.72 | 40,944 | 772 | 0% 0% 0% 100% |
| 2.2 | C GNU gcc #2 | 49.99 | 49.98 | 556 | 400 | 0% 0% 0% 100% |
| 2.3 | Scala #2 | 52.31 | 52.31 | 15,048 | 454 | 0% 0% 0% 100% |
| 2.6 | Ada 2005 GNAT #2 | 59.32 | 59.32 | 1,416 | 572 | 0% 0% 0% 100% |
| 2.6 | Ada 2005 GNAT | 59.89 | 59.89 | 1,420 | 611 | 0% 0% 0% 100% |
| 2.8 | Clean #2 | 64.48 | 64.48 | 588 | 506 | 0% 0% 0% 100% |
| 2.9 | OCaml #2 | 65.78 | 65.78 | 63,984 | 929 | 0% 0% 0% 100% |
| 3.0 | C# Mono | 68.77 | 68.77 | 38,980 | 798 | 0% 0% 0% 100% |
| 3.1 | Pascal Free Pascal #3 | 71.06 | 71.06 | 52 | 530 | 0% 0% 0% 100% |
| 3.2 | C# Mono #2 | 73.94 | 73.94 | 5,648 | 484 | 0% 0% 0% 100% |
| 3.3 | Go 6g 8g #5 | 74.36 | 74.35 | 32,292 | 714 | 0% 0% 0% 100% |
| 3.3 | Go 6g 8g #6 | 74.97 | 74.97 | 31,480 | 723 | 0% 0% 0% 100% |
| 3.3 | Go 6g 8g #3 | 75.18 | 75.17 | 121,748 | 695 | 0% 0% 0% 100% |
| 3.5 | OCaml #3 | 80.94 | 80.94 | 1,140 | 441 | 0% 0% 0% 100% |
| 3.6 | Go 6g 8g | 81.11 | 81.11 | 780 | 509 | 0% 0% 0% 100% |
| 3.8 | C++ GNU g++ #3 | 85.58 | 85.57 | 1,264 | 414 | 0% 0% 0% 100% |
| 6.5 | F# Mono | 148.04 | 148.19 | 8,316 | 528 | 0% 0% 1% 100% |
| 10 | Erlang HiPE | 228.11 | 228.51 | 1,212,552 | 534 | 0% 0% 0% 100% |
| 21 | Scheme PLT #2 | 8 min | 8 min | 12,132 | 508 | 1% 0% 0% 100% |
| 22 | Java 6 -Xint #3 | 8 min | 8 min | 64,788 | 903 | 0% 0% 0% 100% |
| 25 | Lua | 9 min | 9 min | 1,324 | 353 | 0% 1% 0% 100% |
| 26 | Smalltalk VisualWorks #2 | 9 min | 9 min | 22,772 | 467 | 0% 0% 0% 100% |
| 26 | Java 6 -Xint | 10 min | 10 min | 12,268 | 665 | 0% 0% 0% 100% |
| 32 | Lua #2 | 12 min | 12 min | 1,080 | 367 | 0% 0% 0% 100% |
| 32 | Lua #6 | 12 min | 12 min | 20,128 | 607 | 0% 0% 0% 100% |
| 105 | PHP | 39 min | 39 min | 4,768 | 443 | 0% 0% 0% 100% |
| 107 | PHP #3 | 40 min | 40 min | 76,040 | 863 | 0% 0% 0% 100% |
| 111 | Python CPython | 42 min | 42 min | 3,616 | 287 | 0% 0% 0% 100% |
| 123 | PHP #2 | 46 min | 46 min | 4,128 | 395 | 0% 0% 0% 100% |
| 124 | Python CPython #5 | 47 min | 47 min | 24,456 | 425 | 0% 0% 0% 100% |
| 159 | Ruby JRuby | 1h 00 min | 1h 00 min | 123,396 | 313 | 0% 0% 0% 100% |
| 192 | Perl #2 | 1h 13 min | 1h 13 min | 4,132 | 311 | 0% 0% 0% 100% |
| 536 | Ruby MRI | 3h 23 min | 3h 23 min | 2,056 | 313 | 0% 0% 0% 100% |
| Fortran Intel #2 | Bad Output | 813 | ||||
| Fortran Intel #3 | Bad Output | 754 | ||||
| Fortran Intel | Bad Output | 485 | ||||
| Haskell GHC | Make Error | 627 | ||||
| JavaScript TraceMonkey | Failed | 387 | ||||
| JavaScript V8 | Failed | 387 | ||||
| Lisp SBCL #2 | Failed | 653 | ||||
| Perl | Failed | 550 |
cmp program output N = 200 with this 5KB output file to check your program is correct before contributing.
Each program should plot the Mandelbrot set [-1.5-i,0.5+i] on an N-by-N bitmap. Write output byte-by-byte in portable bitmap format.
For more information see Eric W. Weisstein, "Mandelbrot Set." From MathWorld--A Wolfram Web Resource.
http://mathworld.wolfram.com/MandelbrotSet.html
Thanks to Greg Buchholz for this benchmark.