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 | 2.84 | 0.72 | 580 | 2879 | 100% 97% 99% 100% |
| 4.0 | C++ GNU g++ #5 | 11.33 | 2.88 | 1,168 | 1994 | 99% 99% 100% 97% |
| 4.8 | C++ GNU g++ #4 | 12.33 | 3.48 | 1,160 | 1800 | 76% 72% 100% 100% |
| 6.4 | Haskell GHC #2 | 8.40 | 4.59 | 2,392 | 832 | 0% 99% 0% 84% |
| 6.7 | C++ GNU g++ #3 | 16.55 | 4.83 | 1,164 | 1845 | 69% 65% 100% 100% |
| 8.9 | Haskell GHC | 6.44 | 6.44 | 1,816 | 789 | 0% 0% 100% 0% |
| 11 | Java 6 steady state #4 | 22.55 | 8.16 | 15,600 | 1464 | 53% 53% 78% 71% |
| 11 | Java 6 -server #4 | 22.80 | 8.24 | 12,592 | 1377 | 50% 54% 84% 73% |
| 12 | Java 6 -server #3 | 12.19 | 8.55 | 23,328 | 1756 | 25% 39% 32% 40% |
| 12 | C++ GNU g++ | 30.08 | 8.69 | 1,280 | 1798 | 72% 66% 100% 99% |
| 12 | Go 6g 8g #4 | 8.74 | 8.75 | 700 | 996 | 67% 0% 0% 32% |
| 15 | Go 6g 8g #3 | 10.55 | 10.55 | 700 | 983 | 50% 49% 0% 0% |
| 18 | C GNU gcc #2 | 41.88 | 12.62 | 560 | 1663 | 78% 72% 84% 79% |
| 20 | Java 6 -Xint #4 | 43.53 | 14.27 | 10,508 | 1377 | 62% 54% 90% 89% |
| 20 | Java 6 -server #2 | 45.53 | 14.41 | 20,508 | 1429 | 66% 65% 79% 73% |
| 21 | Scala #2 | 48.10 | 15.36 | 21,656 | 1171 | 63% 67% 83% 72% |
| 22 | Java 6 steady state #2 | 50.85 | 16.05 | 19,108 | 1513 | 66% 66% 80% 73% |
| 28 | Go 6g 8g | 20.34 | 20.35 | 712 | 1142 | 0% 0% 0% 100% |
| 29 | C++ GNU g++ #2 | 46.96 | 21.21 | 1,264 | 1606 | 58% 56% 49% 53% |
| 31 | Mozart/Oz | 22.31 | 22.31 | 4,200 | 1090 | 0% 100% 0% 0% |
| 41 | Java 6 -server | 90.97 | 29.68 | 28,452 | 1462 | 62% 61% 72% 74% |
| 44 | Java 6 -Xint #2 | 90.17 | 31.90 | 16,232 | 1429 | 58% 52% 68% 67% |
| 46 | C# Mono | 114.86 | 32.82 | 6,560 | 1409 | 78% 77% 85% 87% |
| 85 | Smalltalk VisualWorks #2 | 60.86 | 60.85 | 12,772 | 2515 | 0% 100% 0% 0% |
| 114 | Java 6 -Xint | 214.78 | 81.89 | 33,816 | 1462 | 61% 54% 60% 58% |
| 155 | Erlang HiPE | 204.23 | 111.33 | 6,268 | 734 | 21% 44% 35% 55% |
| 160 | Scala | 111.48 | 115.55 | 54,532 | 1234 | 24% 31% 19% 22% |
| 182 | Ruby MRI | 131.29 | 131.28 | 1,956 | 928 | 100% 0% 0% 0% |
| 192 | C GNU gcc | 175.62 | 138.20 | 640 | 1769 | 30% 24% 38% 31% |
| 207 | Ruby JRuby | 5 min | 149.26 | 57,096 | 928 | 44% 43% 56% 56% |
| 311 | Scheme PLT | 223.70 | 223.69 | 26,144 | 792 | 45% 57% 0% 0% |
| 323 | OCaml #2 | 5 min | 232.50 | 1,552 | 1286 | 38% 29% 39% 28% |
| 330 | Python CPython #2 | 288.54 | 237.53 | 3,020 | 869 | 39% 33% 17% 27% |
| 345 | Python 3 #2 | 5 min | 248.12 | 4,148 | 866 | 30% 30% 31% 30% |
| 347 | OCaml | 6 min | 249.80 | 1,552 | 1279 | 32% 39% 33% 34% |
| 363 | Java 6 -Xint #3 | 6 min | 261.45 | 16,292 | 1756 | 28% 30% 44% 41% |
| 363 | Go 6g 8g #2 | 9 min | 261.69 | 720 | 1170 | 50% 48% 45% 47% |
| Ada 2005 GNAT | Bad Output | 1615 | ||||
| Ruby 1.9 | Failed | 928 | ||||
| missing programs | ||||||
| ATS | No program | |||||
| Clean | No program | |||||
| F# Mono | No program | |||||
| Fortran Intel | No program | |||||
| JavaScript TraceMonkey | No program | |||||
| JavaScript V8 | No program | |||||
| Lisaac | No program | |||||
| Lisp SBCL | No program | |||||
| Lua | No program | |||||
| Lua LuaJIT | 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.