x64 Ubuntu : Intel® Q6600® quad-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.79 | 5.76 | 33,284 | 1805 | 99% 99% 99% 99% |
| 1.1 | C GNU gcc #6 | 24.23 | 6.07 | 27,900 | 879 | 100% 100% 100% 100% |
| 1.1 | C++ GNU g++ #5 | 25.04 | 6.29 | 28,824 | 858 | 99% 99% 100% 100% |
| 1.2 | ATS #3 | 28.01 | 7.02 | 29,016 | 2780 | 100% 100% 100% 100% |
| 1.7 | Java 6 steady state #3 | 39.00 | 9.78 | 386,700 | 970 | 100% 100% 100% 100% |
| 1.9 | Java 6 -server #3 | 42.02 | 10.69 | 66,984 | 903 | 98% 98% 98% 99% |
| 2.2 | Haskell GHC #2 | 49.69 | 12.57 | 39,456 | 772 | 99% 99% 98% 99% |
| 2.2 | Scala | 50.98 | 12.87 | 46,960 | 737 | 99% 99% 99% 99% |
| 2.3 | Lisp SBCL | 49.46 | 13.30 | 69,192 | 1002 | 93% 100% 91% 91% |
| 2.9 | OCaml #2 | 65.87 | 16.69 | 63,788 | 929 | 99% 98% 99% 98% |
| 3.0 | C# Mono | 68.85 | 17.29 | 39,208 | 798 | 99% 99% 99% 100% |
| 3.2 | Go 6g 8g #5 | 74.40 | 18.67 | 31,412 | 714 | 100% 100% 100% 100% |
| 3.3 | Go 6g 8g #6 | 74.94 | 18.76 | 30,636 | 723 | 100% 100% 100% 100% |
| 4.6 | ATS #2 | 26.46 | 26.47 | 536 | 1531 | 0% 100% 0% 0% |
| 6.0 | Go 6g 8g #3 | 88.77 | 34.55 | 121,900 | 695 | 65% 62% 60% 59% |
| 7.4 | Java 6 -server | 42.86 | 42.86 | 14,424 | 665 | 0% 0% 0% 99% |
| 8.4 | ATS | 48.52 | 48.51 | 536 | 601 | 100% 0% 0% 0% |
| 8.7 | C GNU gcc #2 | 49.99 | 49.99 | 552 | 400 | 0% 0% 100% 0% |
| 9.1 | Scala #2 | 52.24 | 52.27 | 15,092 | 454 | 100% 0% 0% 0% |
| 10 | Ada 2005 GNAT #2 | 59.38 | 59.38 | 1,416 | 572 | 0% 0% 100% 0% |
| 10 | Ada 2005 GNAT | 59.88 | 59.88 | 1,424 | 611 | 0% 100% 0% 0% |
| 11 | Clean #2 | 64.34 | 64.34 | 592 | 506 | 100% 0% 0% 0% |
| 12 | Pascal Free Pascal #3 | 71.02 | 71.02 | 56 | 530 | 0% 0% 0% 100% |
| 13 | C# Mono #2 | 73.90 | 73.96 | 5,648 | 484 | 0% 0% 99% 2% |
| 14 | Erlang HiPE | 262.42 | 80.35 | 1,270,604 | 534 | 80% 86% 85% 76% |
| 14 | OCaml #3 | 80.94 | 80.94 | 1,140 | 441 | 0% 100% 0% 0% |
| 14 | Go 6g 8g | 81.11 | 81.11 | 780 | 509 | 100% 0% 3% 0% |
| 15 | C++ GNU g++ #3 | 85.60 | 85.59 | 1,260 | 414 | 3% 0% 100% 0% |
| 21 | Java 6 -Xint #3 | 8 min | 123.16 | 64,836 | 903 | 100% 100% 100% 100% |
| 25 | F# Mono | 144.12 | 144.21 | 8,272 | 528 | 0% 100% 0% 0% |
| 35 | Lua #6 | 12 min | 199.78 | 20,712 | 607 | 83% 100% 87% 100% |
| 85 | Scheme PLT #2 | 8 min | 8 min | 12,124 | 508 | 0% 0% 83% 17% |
| 101 | Lua | 9 min | 9 min | 1,324 | 353 | 0% 100% 0% 0% |
| 103 | Java 6 -Xint | 9 min | 9 min | 12,268 | 665 | 0% 0% 0% 100% |
| 103 | Smalltalk VisualWorks #2 | 9 min | 9 min | 22,776 | 467 | 0% 0% 0% 100% |
| 104 | PHP #3 | 39 min | 9 min | 120,300 | 863 | 100% 100% 100% 100% |
| 118 | Python CPython #5 | 45 min | 11 min | 24,444 | 425 | 100% 100% 100% 100% |
| 126 | Lua #2 | 12 min | 12 min | 1,076 | 367 | 0% 0% 0% 100% |
| 418 | PHP | 40 min | 40 min | 4,776 | 443 | 100% 0% 0% 0% |
| 471 | Python CPython | 45 min | 45 min | 3,616 | 287 | 6% 0% 0% 94% |
| 492 | PHP #2 | 47 min | 47 min | 4,128 | 395 | 100% 0% 0% 0% |
| 625 | Ruby JRuby | 1h 00 min | 59 min | 217,384 | 313 | 17% 30% 30% 23% |
| 734 | Perl #2 | 1h 10 min | 1h 10 min | 4,136 | 311 | 0% 0% 100% 0% |
| 2,119 | Ruby MRI | 3h 23 min | 3h 23 min | 2,064 | 313 | 26% 0% 39% 34% |
| 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.