x64 Ubuntu : Intel® Q6600® quad-core |
This chart shows 3 comparisons - Time-used, Memory-used and Code-used.
Each chart bar shows, for one unidentified benchmark, how much the fastest OCaml program used compared to the fastest C++ GNU g++ program.
This table shows 3 comparisons - Time-used, Memory-used and Code-used.
Each table row shows, for one named benchmark, how much the fastest OCaml program used compared to the fastest C++ GNU g++ program.
| OCaml used what fraction? used how many times more? | ||||
|---|---|---|---|---|
| Benchmark | Time | Memory | Code | Reduced N |
| n-body | 2× | ± | ± | |
| pidigits | 2× | 2× | ± | |
| spectral-norm | 2× | 3× | ± | |
| regex-dna | 2× | 4× | ± | |
| mandelbrot | 3× | 2× | ± | |
| binary-trees | 3× | 1/2 | ± | |
| reverse-complement | 3× | 2× | 1/4 | |
| fannkuch | 3× | 5× | ± | |
| fasta | 6× | ± | ± | |
| k-nucleotide | 7× | 3× | 1/2 | |
| chameneos-redux | 67× | 2× | ± | |
± read the measurements and then read the program source code.
This table shows 5 measurements - CPU Time, Elapsed Time, Memory, Code and ~ CPU Load.
For each named benchmark, measurements of the fastest OCaml program are shown for comparison against measurements of the fastest C++ GNU g++ program.
| Program Source Code | CPU secs | Elapsed secs | Memory KB | Code B | ~ CPU Load |
|---|---|---|---|---|---|
| n-body | |||||
| OCaml | 32.69 | 32.70 | 816 | 1239 | 100% 0% 0% 0% |
| C++ GNU g++ | 20.57 | 20.56 | 932 | 1428 | 0% 0% 0% 100% |
| pidigits | |||||
| OCaml | 6.70 | 6.70 | 4,056 | 560 | 0% 100% 0% 0% |
| C++ GNU g++ | 3.79 | 3.79 | 1,696 | 682 | 0% 100% 0% 0% |
| spectral-norm | |||||
| OCaml | 20.02 | 6.21 | 3,304 | 907 | 79% 79% 81% 81% |
| C++ GNU g++ | 11.89 | 2.99 | 1,196 | 1114 | 100% 99% 99% 99% |
| regex-dna | |||||
| OCaml | 19.83 | 11.29 | 389,532 | 1261 | 25% 86% 25% 40% |
| C++ GNU g++ | 18.37 | 5.04 | 97,464 | 1588 | 87% 96% 90% 91% |
| mandelbrot | |||||
| OCaml | 65.87 | 16.69 | 63,788 | 929 | 99% 98% 99% 98% |
| C++ GNU g++ | 25.04 | 6.29 | 28,824 | 858 | 99% 99% 100% 100% |
| binary-trees | |||||
| OCaml | 89.57 | 25.32 | 157,664 | 784 | 82% 85% 95% 90% |
| C++ GNU g++ | 28.55 | 9.01 | 357,820 | 892 | 71% 62% 95% 82% |
| reverse-complement | |||||
| OCaml | 2.55 | 2.56 | 388,264 | 582 | 100% 0% 0% 0% |
| C++ GNU g++ | 1.21 | 0.85 | 245,644 | 2275 | 37% 13% 80% 14% |
| fannkuch | |||||
| OCaml | 181.64 | 46.67 | 6,288 | 975 | 99% 96% 99% 97% |
| C++ GNU g++ | 49.75 | 13.74 | 1,300 | 1186 | 80% 76% 100% 100% |
| fasta | |||||
| OCaml | 13.82 | 13.82 | 1,000 | 1042 | 0% 0% 100% 0% |
| C++ GNU g++ | 2.26 | 2.26 | 964 | 1470 | 100% 0% 1% 0% |
| k-nucleotide | |||||
| OCaml | 88.25 | 37.80 | 574,588 | 1205 | 41% 25% 81% 85% |
| C++ GNU g++ | 20.27 | 5.54 | 177,148 | 2673 | 99% 88% 90% 93% |
| chameneos-redux | |||||
| OCaml | 364.49 | 239.77 | 2,412 | 1286 | 37% 33% 37% 33% |
| C++ GNU g++ | 13.05 | 3.57 | 1,328 | 1800 | 82% 77% 100% 100% |
The Objective Caml native-code compiler, version 3.11.0
Home Page: http://www.ocaml.org/
Download: http://caml.inria.fr/download.en.html