x64 Ubuntu : Intel® Q6600® quad-core |
Each chart bar shows how many times more Time or how many times more Memory one unidentified ↓ chameneos-redux 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 chameneos-redux 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 | C GNU gcc #5 | 3.14 | 0.79 | 684 | 2879 | 99% 99% 99% 99% |
| 4.4 | C++ GNU g++ #5 | 13.05 | 3.47 | 1,332 | 1994 | 98% 100% 89% 89% |
| 4.5 | C++ GNU g++ #4 | 13.05 | 3.57 | 1,328 | 1800 | 82% 77% 100% 100% |
| 5.7 | C++ GNU g++ #3 | 15.57 | 4.54 | 1,324 | 1845 | 71% 64% 100% 99% |
| 8.8 | Haskell GHC | 7.02 | 7.02 | 2,108 | 789 | 0% 0% 0% 100% |
| 9.2 | Java 6 steady state #4 | 21.42 | 7.27 | 19,080 | 1464 | 57% 50% 81% 81% |
| 9.5 | Haskell GHC #2 | 14.83 | 7.55 | 2,728 | 832 | 1% 84% 85% 0% |
| 10 | Go 6g 8g #4 | 8.10 | 8.11 | 836 | 996 | 0% 50% 49% 0% |
| 11 | C++ GNU g++ | 29.24 | 8.45 | 1,416 | 1798 | 72% 67% 100% 100% |
| 11 | Java 6 -server #3 | 12.57 | 8.64 | 41,288 | 1756 | 37% 45% 15% 40% |
| 11 | Java 6 -server #4 | 25.61 | 8.81 | 15,908 | 1377 | 55% 79% 53% 83% |
| 13 | Go 6g 8g #3 | 10.11 | 10.11 | 832 | 983 | 2% 0% 100% 2% |
| 17 | Java 6 -server #2 | 40.82 | 13.30 | 36,136 | 1429 | 61% 79% 62% 78% |
| 17 | C GNU gcc #2 | 44.66 | 13.63 | 664 | 1663 | 74% 72% 86% 85% |
| 18 | Java 6 -Xint #4 | 43.58 | 14.37 | 12,532 | 1377 | 62% 89% 53% 88% |
| 18 | Java 6 steady state #2 | 46.73 | 14.61 | 36,700 | 1513 | 64% 65% 81% 80% |
| 19 | Scala #2 | 44.51 | 14.75 | 37,384 | 1171 | 62% 60% 76% 75% |
| 25 | Go 6g 8g | 19.66 | 19.67 | 872 | 1142 | 49% 0% 0% 51% |
| 39 | C# Mono | 109.38 | 30.96 | 7,548 | 1409 | 82% 85% 80% 84% |
| 46 | C++ GNU g++ #2 | 86.83 | 36.23 | 1,428 | 1606 | 58% 56% 53% 53% |
| 46 | Java 6 -Xint #2 | 96.48 | 36.43 | 33,160 | 1429 | 54% 66% 51% 67% |
| 57 | Java 6 -server | 126.22 | 45.05 | 85,824 | 1462 | 60% 67% 53% 68% |
| 76 | Smalltalk VisualWorks #2 | 60.07 | 60.06 | 22,856 | 2515 | 0% 100% 0% 0% |
| 115 | Scala | 87.62 | 90.93 | 145,532 | 1234 | 23% 31% 23% 17% |
| 120 | Java 6 -Xint | 248.22 | 95.19 | 94,680 | 1462 | 54% 64% 52% 65% |
| 138 | Erlang HiPE | 198.65 | 109.96 | 9,144 | 734 | 47% 45% 30% 33% |
| 155 | C GNU gcc | 167.00 | 122.78 | 740 | 1769 | 33% 25% 38% 31% |
| 186 | Ruby JRuby | 5 min | 147.34 | 95,944 | 928 | 45% 44% 56% 54% |
| 199 | Ruby MRI | 158.27 | 158.26 | 2,656 | 928 | 0% 0% 100% 0% |
| 267 | Scheme PLT | 211.77 | 211.93 | 36,364 | 792 | 1% 0% 100% 0% |
| 273 | Python CPython #2 | 286.54 | 216.63 | 3,816 | 869 | 49% 24% 28% 22% |
| 302 | OCaml #2 | 6 min | 239.77 | 2,412 | 1286 | 37% 33% 37% 33% |
| 317 | OCaml | 6 min | 252.01 | 2,400 | 1279 | 36% 35% 30% 38% |
| 342 | Go 6g 8g #2 | 9 min | 271.65 | 920 | 1170 | 54% 49% 47% 47% |
| 377 | Java 6 -Xint #3 | 7 min | 299.59 | 33,292 | 1756 | 33% 41% 20% 40% |
| Ada 2005 GNAT | Bad Output | 1615 | ||||
| missing programs | ||||||
| ATS | No program | |||||
| Clean | No program | |||||
| F# Mono | No program | |||||
| Fortran Intel | No program | |||||
| JavaScript TraceMonkey | No program | |||||
| JavaScript V8 | No program | |||||
| Lisp SBCL | No program | |||||
| Lua | No program | |||||
| Pascal Free Pascal | No program | |||||
| Perl | No program | |||||
| PHP | No program | |||||
ndiff program output N = 600 with this output file to check your program output has the correct format before contributing.
The text-part and spelled-out numbers in the program output should match the expected output exactly. Thread scheduling may cause small differences in the other numbers, so program output is checked with ndiff -fields 2-10
Each program should
The chameneos benchmark is an adaptation of "Chameneos, a Concurrency Game for Java, Ada and Others" 100KB pdf (which includes example implementations in Java, Ada and C).
Programs may use kernel threads, lightweight threads; but coroutines, cooperative threads and other programs with custom schedulers will be listed as interesting alternative implementations. Briefly say what concurrency technique is used in the program header comment.