Current benchmark data was generated on Thu May 04 2023, full log can be found HERE
CONTRIBUTIONS are WELCOME!
* -m in a file name stands for multi-threading or multi-processing
* -i in a file name stands for direct intrinsics usage. (Usage of simd intrinsics via libraries is not counted)
* -ffi in a file name stands for non-stdlib FFI usage
* (You may find time < time(user) + time(sys) for some non-parallelized programs, the overhead is from GC or JIT compiler, which are allowed to take advantage of multi-cores as that's more close to real-world scenarios.)
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2.java | 760ms | 15ms | 411.4MB | 753ms | 127ms | openjdk 21 |
java | 2.java | 796ms | 69ms | 410.1MB | 707ms | 147ms | openjdk 20 |
java | 2.java | 943ms | 154ms | 896.1MB | 940ms | 253ms | graal/jvm 17.0.7 |
java | 2.java | 1387ms | 14ms | 1006.5MB | 1000ms | 623ms | openjdk/zgc 20 |
ruby | 1.rb | timeout | 0.0ms | 72.7MB | 4957ms | 27ms | ruby 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 82.1MB | 4917ms | 63ms | ruby/yjit 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 493.5MB | 8423ms | 347ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2.java | 184ms | 8.1ms | 110.1MB | 177ms | 30ms | openjdk 20 |
java | 2.java | 190ms | 15ms | 109.9MB | 170ms | 40ms | openjdk 21 |
java | 2.java | 208ms | 22ms | 163.1MB | 237ms | 67ms | graal/jvm 17.0.7 |
java | 2.java | 342ms | 5.5ms | 238.9MB | 177ms | 187ms | openjdk/zgc 20 |
ruby | 1.rb | 625ms | 33ms | 40.7MB | 590ms | 20ms | ruby/yjit 3.2.2 |
ruby | 1.rb | 1054ms | 21ms | 40.2MB | 1020ms | 17ms | ruby 3.2.2 |
ruby | 1-m.rb | 1308ms | 42ms | 429.5MB | 2093ms | 207ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1-m.java | 1616ms | 2799ms | 141.4MB | 9493ms | 107ms | openjdk 20 |
ruby | 1.rb | 4132ms | 285ms | 82.8MB | 4050ms | 63ms | ruby/yjit 3.2.2 |
ruby | 1.rb | 4480ms | 204ms | 82.2MB | 4407ms | 53ms | ruby 3.2.2 |
java | 1.java | timeout | 0.0ms | 145.1MB | 9580ms | 70ms | openjdk 21 |
java | 1.java | timeout | 0.0ms | 927.6MB | 8763ms | 523ms | openjdk/zgc 20 |
ruby | 1.rb | timeout | 0.0ms | 836.9MB | 4197ms | 1300ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ruby | 1.rb | 265ms | 7.2ms | 45.0MB | 227ms | 23ms | ruby/yjit 3.2.2 |
ruby | 1.rb | 284ms | 10ms | 44.5MB | 240ms | 27ms | ruby 3.2.2 |
java | 1-m.java | 733ms | 65ms | 114.3MB | 1263ms | 63ms | openjdk 21 |
java | 1-m.java | 780ms | 33ms | 111.7MB | 1370ms | 57ms | openjdk 20 |
java | 1-m.java | 980ms | 106ms | 304.2MB | 1567ms | 193ms | openjdk/zgc 20 |
ruby | 1.rb | timeout | 0.0ms | 958.8MB | 3693ms | 1443ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 4.java | 470ms | 7.5ms | 42.9MB | 543ms | 20ms | openjdk 21 |
java | 4.java | 472ms | 5.3ms | 40.4MB | 543ms | 17ms | openjdk 20 |
java | 4.java | 515ms | 15ms | 42.0MB | 537ms | 63ms | openjdk/zgc 20 |
java | 4.java | 546ms | 2.3ms | 97.6MB | 750ms | 30ms | graal/jvm 17.0.7 |
ruby | 6.rb | 2402ms | 31ms | 43.5MB | 2360ms | 23ms | ruby/yjit 3.2.2 |
ruby | 6-m.rb | 3067ms | 177ms | 363.7MB | 5537ms | 270ms | truffleruby 22.3.1 |
ruby | 6.rb | 4221ms | 19ms | 43.1MB | 4183ms | 20ms | ruby 3.2.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 4.java | 149ms | 9.4ms | 39.8MB | 170ms | 10ms | openjdk 20 |
java | 4.java | 156ms | 2.6ms | 42.3MB | 177ms | 10ms | openjdk 21 |
java | 4.java | 176ms | 14ms | 87.9MB | 203ms | 23ms | graal/jvm 17.0.7 |
java | 4.java | 199ms | 6.4ms | 38.8MB | 160ms | 70ms | openjdk/zgc 20 |
ruby | 6.rb | 317ms | 2.2ms | 35.0MB | 287ms | 13ms | ruby/yjit 3.2.2 |
ruby | 6.rb | 492ms | 0.7ms | 34.5MB | 467ms | 10ms | ruby 3.2.2 |
ruby | 6-m.rb | 960ms | 14ms | 318.2MB | 1630ms | 130ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ruby | 1.rb | 57ms | 5.5ms | 157.3MB | 30ms | 34ms | truffleruby 22.3.1 |
ruby | 1.rb | 75ms | 0.9ms | 32.1MB | 44ms | 18ms | ruby 3.2.2 |
ruby | 1.rb | 81ms | 4.0ms | 32.2MB | 50ms | 16ms | ruby/yjit 3.2.2 |
java | 1.java | 84ms | 7.3ms | 60.1MB | 66ms | 20ms | graal/jvm 17.0.7 |
java | 1.java | 90ms | 7.4ms | 41.4MB | 80ms | 18ms | openjdk 21 |
java | 1.java | 92ms | 6.2ms | 39.2MB | 80ms | 20ms | openjdk 20 |
java | 1.java | 136ms | 5.9ms | 38.5MB | 72ms | 72ms | openjdk/zgc 20 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ruby | 1.rb | 473ms | 15ms | 32.9MB | 450ms | 7ms | ruby/yjit 3.2.2 |
ruby | 1.rb | 658ms | 7.7ms | 32.4MB | 633ms | 7ms | ruby 3.2.2 |
ruby | 1-m.rb | 985ms | 50ms | 320.7MB | 1427ms | 120ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 598ms | 6.9ms | 289.1MB | 613ms | 87ms | openjdk 21 |
java | 1.java | 601ms | 11ms | 286.7MB | 593ms | 100ms | openjdk 20 |
java | 1.java | 680ms | 69ms | 380.0MB | 887ms | 117ms | graal/jvm 17.0.7 |
java | 1.java | 1084ms | 8.4ms | 728.2MB | 723ms | 500ms | openjdk/zgc 20 |
ruby | 1.rb | timeout | 0.0ms | 96.4MB | 4937ms | 47ms | ruby 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 96.9MB | 4920ms | 60ms | ruby/yjit 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 523.5MB | 9013ms | 297ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 261ms | 14ms | 224.4MB | 250ms | 70ms | openjdk 21 |
java | 1.java | 264ms | 10ms | 222.4MB | 253ms | 63ms | openjdk 20 |
java | 1-m.java | 315ms | 15ms | 283.2MB | 417ms | 70ms | graal/jvm 17.0.7 |
java | 1.java | 462ms | 6.1ms | 329.4MB | 273ms | 230ms | openjdk/zgc 20 |
ruby | 1-m.rb | 4022ms | 46ms | 591.0MB | 7290ms | 320ms | truffleruby 22.3.1 |
ruby | 1.rb | 4150ms | 14ms | 53.6MB | 4097ms | 37ms | ruby/yjit 3.2.2 |
ruby | 1.rb | 4968ms | 17ms | 52.8MB | 4920ms | 30ms | ruby 3.2.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 588ms | 5.5ms | 89.6MB | 607ms | 33ms | graal/jvm 17.0.7 |
java | 1.java | 637ms | 4.7ms | 42.0MB | 643ms | 20ms | openjdk 21 |
java | 1.java | 649ms | 5.6ms | 40.4MB | 647ms | 17ms | openjdk 20 |
java | 1.java | 710ms | 8.6ms | 41.8MB | 667ms | 70ms | openjdk/zgc 20 |
ruby | 2.rb | 1283ms | 37ms | 320.7MB | 1533ms | 127ms | truffleruby 22.3.1 |
java | 2.java | 2285ms | 14ms | 489.1MB | 2303ms | 120ms | openjdk 21 |
java | 2.java | 2295ms | 14ms | 516.0MB | 2287ms | 140ms | openjdk 20 |
java | 2.java | 3392ms | 24ms | 1591.2MB | 2457ms | 1127ms | openjdk/zgc 20 |
ruby | 2.rb | timeout | 0.0ms | 32.1MB | 4970ms | 17ms | ruby 3.2.2 |
ruby | 2.rb | timeout | 0.0ms | 32.9MB | 4957ms | 23ms | ruby/yjit 3.2.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 154ms | 4.6ms | 88.0MB | 183ms | 30ms | graal/jvm 17.0.7 |
java | 1.java | 164ms | 3.9ms | 40.7MB | 167ms | 13ms | openjdk 20 |
java | 1.java | 168ms | 2.4ms | 42.6MB | 167ms | 23ms | openjdk 21 |
java | 1.java | 224ms | 8.8ms | 42.0MB | 163ms | 83ms | openjdk/zgc 20 |
ruby | 2-m.rb | 457ms | 19ms | 301.8MB | 693ms | 93ms | truffleruby 22.3.1 |
java | 2.java | 487ms | 3.9ms | 345.5MB | 530ms | 90ms | openjdk 21 |
java | 2.java | 492ms | 7.0ms | 340.3MB | 517ms | 103ms | openjdk 20 |
java | 2.java | 806ms | 5.1ms | 484.6MB | 577ms | 380ms | openjdk/zgc 20 |
ruby | 2.rb | 2111ms | 10ms | 32.9MB | 2067ms | 23ms | ruby/yjit 3.2.2 |
ruby | 2.rb | 3201ms | 26ms | 32.2MB | 3180ms | 7ms | ruby 3.2.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2.java | 1027ms | 10ms | 50.9MB | 1057ms | 17ms | openjdk 20 |
java | 2.java | 1029ms | 12ms | 52.3MB | 1063ms | 20ms | openjdk 21 |
java | 2.java | 1043ms | 2.9ms | 50.8MB | 1007ms | 83ms | openjdk/zgc 20 |
java | 1.java | 1347ms | 62ms | 86.3MB | 1370ms | 23ms | openjdk 21 |
java | 1.java | 1439ms | 80ms | 85.0MB | 1457ms | 37ms | openjdk 20 |
java | 1.java | 1524ms | 5.5ms | 108.7MB | 1457ms | 110ms | openjdk/zgc 20 |
java | 1.java | 1774ms | 138ms | 236.8MB | 2413ms | 107ms | graal/jvm 17.0.7 |
java | 2-m.java | 1888ms | 238ms | 278.5MB | 3250ms | 110ms | graal/jvm 17.0.7 |
ruby | 1.rb | timeout | 0.0ms | 344.6MB | 4830ms | 147ms | ruby 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 345.2MB | 4813ms | 163ms | ruby/yjit 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 684.3MB | 4993ms | 237ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 246ms | 8.7ms | 60.2MB | 273ms | 17ms | openjdk 21 |
java | 1.java | 247ms | 6.3ms | 58.8MB | 270ms | 23ms | openjdk 20 |
java | 1.java | 318ms | 8.6ms | 57.5MB | 270ms | 93ms | openjdk/zgc 20 |
java | 2.java | 330ms | 4.0ms | 45.0MB | 360ms | 13ms | openjdk 20 |
java | 2.java | 333ms | 4.9ms | 46.6MB | 350ms | 20ms | openjdk 21 |
java | 1.java | 351ms | 12ms | 121.8MB | 483ms | 33ms | graal/jvm 17.0.7 |
java | 2.java | 374ms | 3.0ms | 42.1MB | 340ms | 70ms | openjdk/zgc 20 |
java | 2-m.java | 665ms | 4.4ms | 163.4MB | 1143ms | 83ms | graal/jvm 17.0.7 |
ruby | 1.rb | 3763ms | 62ms | 428.9MB | 4377ms | 187ms | truffleruby 22.3.1 |
ruby | 1.rb | timeout | 0.0ms | 150.9MB | 4913ms | 70ms | ruby 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 151.4MB | 4907ms | 70ms | ruby/yjit 3.2.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | timeout | 0.0ms | 315.5MB | 5480ms | 140ms | graal/jvm 17.0.7 |
java | 1.java | timeout | 0.0ms | 329.4MB | 5380ms | 133ms | openjdk 20 |
java | 1.java | timeout | 0.0ms | 334.5MB | 5677ms | 147ms | openjdk 21 |
java | 1.java | timeout | 0.0ms | 1358.3MB | 4887ms | 877ms | openjdk/zgc 20 |
ruby | 1.rb | timeout | 0.0ms | 160.6MB | 4903ms | 73ms | ruby 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 159.8MB | 4903ms | 77ms | ruby/yjit 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 435.3MB | 9337ms | 253ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 1.java | 1494ms | 10ms | 272.7MB | 2073ms | 107ms | openjdk 21 |
java | 1.java | 1531ms | 6.0ms | 302.9MB | 1913ms | 97ms | graal/jvm 17.0.7 |
java | 1.java | 1538ms | 8.2ms | 285.5MB | 1813ms | 90ms | openjdk 20 |
java | 1.java | 2156ms | 49ms | 1042.1MB | 1923ms | 810ms | openjdk/zgc 20 |
ruby | 1-m.rb | 2292ms | 19ms | 433.2MB | 4103ms | 230ms | truffleruby 22.3.1 |
ruby | 1.rb | 3184ms | 12ms | 160.5MB | 3113ms | 50ms | ruby 3.2.2 |
ruby | 1.rb | 3217ms | 26ms | 160.1MB | 3120ms | 80ms | ruby/yjit 3.2.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 4343ms | 20ms | 90.0MB | 8373ms | 20ms | graal/jvm 17.0.7 |
java | 2.java | timeout | 0.0ms | 40.5MB | 9717ms | 17ms | openjdk 20 |
java | 2.java | timeout | 0.0ms | 41.8MB | 9700ms | 27ms | openjdk 21 |
java | 2.java | timeout | 0.0ms | 42.2MB | 9607ms | 60ms | openjdk/zgc 20 |
ruby | 4.rb | timeout | 0.0ms | 32.1MB | 4973ms | 10ms | ruby 3.2.2 |
ruby | 4.rb | timeout | 0.0ms | 32.7MB | 4967ms | 13ms | ruby/yjit 3.2.2 |
ruby | 4.rb | timeout | 0.0ms | 362.6MB | 5230ms | 183ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 1240ms | 3.4ms | 88.9MB | 2287ms | 27ms | graal/jvm 17.0.7 |
java | 2-m.java | 1862ms | 90ms | 42.5MB | 3503ms | 33ms | openjdk 21 |
java | 2-m.java | 1993ms | 62ms | 40.8MB | 3773ms | 20ms | openjdk 20 |
java | 2-m.java | 2007ms | 19ms | 40.3MB | 3713ms | 77ms | openjdk/zgc 20 |
ruby | 4.rb | timeout | 0.0ms | 32.1MB | 4970ms | 13ms | ruby 3.2.2 |
ruby | 4.rb | timeout | 0.0ms | 32.7MB | 4970ms | 10ms | ruby/yjit 3.2.2 |
ruby | 4.rb | timeout | 0.0ms | 432.3MB | 5530ms | 197ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
java | 2-m.java | 433ms | 5.1ms | 91.3MB | 710ms | 33ms | graal/jvm 17.0.7 |
java | 2-m.java | 604ms | 20ms | 42.4MB | 1047ms | 17ms | openjdk 21 |
java | 2-m.java | 612ms | 8.9ms | 40.5MB | 1067ms | 23ms | openjdk 20 |
java | 2-m.java | 675ms | 22ms | 42.2MB | 1073ms | 80ms | openjdk/zgc 20 |
ruby | 4.rb | 3234ms | 30ms | 410.8MB | 3887ms | 177ms | truffleruby 22.3.1 |
ruby | 4.rb | timeout | 0.0ms | 32.4MB | 4967ms | 13ms | ruby 3.2.2 |
ruby | 4.rb | timeout | 0.0ms | 32.7MB | 4960ms | 17ms | ruby/yjit 3.2.2 |