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 |
---|---|---|---|---|---|---|---|
python | 1.py | 1790ms | 46ms | 217.6MB | 1663ms | 110ms | pypy 3.9.16 |
python | 1.py | timeout | 0.0ms | 40.9MB | 4960ms | 17ms | cpython 3.11.3 |
python | 1.py | timeout | 0.0ms | 40.3MB | 4917ms | 63ms | pyston 3.8.12 |
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 |
---|---|---|---|---|---|---|---|
python | 1.py | 160ms | 14ms | 74.6MB | 110ms | 23ms | pypy 3.9.16 |
ruby | 1.rb | 625ms | 33ms | 40.7MB | 590ms | 20ms | ruby/yjit 3.2.2 |
python | 1.py | 671ms | 2.6ms | 12.0MB | 633ms | 17ms | pyston 3.8.12 |
python | 1.py | 966ms | 14ms | 12.5MB | 947ms | 3ms | cpython 3.11.3 |
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 |
---|---|---|---|---|---|---|---|
python | 1.py | 1514ms | 44ms | 220.9MB | 1403ms | 93ms | pypy 3.9.16 |
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 |
python | 1.py | timeout | 0.0ms | 20.2MB | 4977ms | 7ms | cpython 3.11.3 |
python | 1.py | timeout | 0.0ms | 17.3MB | 4980ms | 0ms | pyston 3.8.12 |
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 |
python | 1.py | 308ms | 11ms | 88.1MB | 263ms | 27ms | pypy 3.9.16 |
python | 1.py | 799ms | 10ms | 19.9MB | 773ms | 3ms | cpython 3.11.3 |
python | 1.py | 868ms | 8.8ms | 16.8MB | 840ms | 7ms | pyston 3.8.12 |
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 |
---|---|---|---|---|---|---|---|
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 |
python | 5-m.py | 3471ms | 17ms | 12.7MB | 4990ms | 1227ms | pyston 3.8.12 |
python | 1.py | 3566ms | 105ms | 85.0MB | 3510ms | 37ms | pypy 3.9.16 |
python | 1.py | 3928ms | 17ms | 8.0MB | 3910ms | 0ms | pyston 3.8.12 |
python | 5-m.py | 4067ms | 23ms | 13.6MB | 5703ms | 1260ms | cpython 3.11.3 |
ruby | 6.rb | 4221ms | 19ms | 43.1MB | 4183ms | 20ms | ruby 3.2.2 |
python | 5-m.py | 4917ms | 70ms | 76.1MB | 5657ms | 1113ms | pypy 3.9.16 |
python | 1.py | timeout | 0.0ms | 8.6MB | 4980ms | 3ms | cpython 3.11.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ruby | 6.rb | 317ms | 2.2ms | 35.0MB | 287ms | 13ms | ruby/yjit 3.2.2 |
python | 1.py | 409ms | 0.7ms | 7.9MB | 393ms | 3ms | pyston 3.8.12 |
python | 1.py | 427ms | 11ms | 73.7MB | 390ms | 20ms | pypy 3.9.16 |
python | 5-m.py | 428ms | 8.5ms | 12.6MB | 557ms | 143ms | pyston 3.8.12 |
ruby | 6.rb | 492ms | 0.7ms | 34.5MB | 467ms | 10ms | ruby 3.2.2 |
python | 5-m.py | 505ms | 14ms | 13.6MB | 593ms | 207ms | cpython 3.11.3 |
python | 1.py | 604ms | 1.0ms | 8.6MB | 587ms | 0ms | cpython 3.11.3 |
python | 5-m.py | 874ms | 16ms | 76.3MB | 983ms | 463ms | pypy 3.9.16 |
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 |
---|---|---|---|---|---|---|---|
python | 1.py | 13ms | 0.4ms | 7.3MB | 10ms | 0ms | pyston 3.8.12 |
python | 1.py | 15ms | 0.9ms | 8.4MB | 7ms | 3ms | cpython 3.11.3 |
python | 1.py | 40ms | 2.2ms | 52.0MB | 14ms | 10ms | pypy 3.9.16 |
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 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 1.py | 276ms | 1.7ms | 38.4MB | 247ms | 13ms | pyston 3.8.12 |
python | 1.py | 285ms | 7.2ms | 41.2MB | 253ms | 10ms | cpython 3.11.3 |
python | 1.py | 416ms | 1.0ms | 98.6MB | 373ms | 27ms | pypy 3.9.16 |
ruby | 1.rb | 451ms | 2.9ms | 50.6MB | 403ms | 33ms | ruby 3.2.2 |
ruby | 1.rb | 464ms | 15ms | 51.8MB | 420ms | 27ms | ruby/yjit 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 470.5MB | 9063ms | 293ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 1.py | 2584ms | 4.8ms | 223.0MB | 2433ms | 133ms | cpython 3.11.3 |
python | 1.py | 2598ms | 22ms | 220.7MB | 2400ms | 177ms | pyston 3.8.12 |
python | 1.py | 2650ms | 20ms | 239.6MB | 2537ms | 97ms | pypy 3.9.16 |
ruby | 1.rb | 4078ms | 5.1ms | 175.2MB | 3970ms | 93ms | ruby 3.2.2 |
ruby | 1.rb | 4089ms | 9.0ms | 174.1MB | 3973ms | 97ms | ruby/yjit 3.2.2 |
ruby | 1.rb | timeout | 0.0ms | 423.9MB | 9180ms | 243ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 2.py | 232ms | 1.0ms | 71.0MB | 203ms | 17ms | pypy 3.9.16 |
python | 1.py | 278ms | 6.3ms | 71.9MB | 247ms | 13ms | pypy 3.9.16 |
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 |
python | 1.py | 925ms | 7.8ms | 9.0MB | 907ms | 0ms | pyston 3.8.12 |
ruby | 1-m.rb | 985ms | 50ms | 320.7MB | 1427ms | 120ms | truffleruby 22.3.1 |
python | 2.py | 1073ms | 2.7ms | 8.8MB | 1057ms | 0ms | pyston 3.8.12 |
python | 1.py | 1276ms | 27ms | 9.3MB | 1257ms | 0ms | cpython 3.11.3 |
python | 2.py | 1421ms | 16ms | 9.1MB | 1407ms | 0ms | cpython 3.11.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 2.py | 557ms | 2.9ms | 71.5MB | 527ms | 20ms | pypy 3.9.16 |
python | 1.py | 608ms | 1.1ms | 72.4MB | 587ms | 7ms | pypy 3.9.16 |
ruby | 1.rb | 1241ms | 4.1ms | 32.9MB | 1213ms | 17ms | ruby/yjit 3.2.2 |
ruby | 1.rb | 1814ms | 14ms | 32.4MB | 1790ms | 10ms | ruby 3.2.2 |
ruby | 1.rb | 1843ms | 9.4ms | 374.4MB | 2410ms | 177ms | truffleruby 22.3.1 |
python | 1.py | 2726ms | 8.2ms | 9.0MB | 2710ms | 0ms | pyston 3.8.12 |
python | 2.py | 3173ms | 4.4ms | 8.7MB | 3160ms | 0ms | pyston 3.8.12 |
python | 1.py | 3748ms | 29ms | 9.2MB | 3733ms | 0ms | cpython 3.11.3 |
python | 2.py | 4262ms | 61ms | 9.1MB | 4247ms | 0ms | cpython 3.11.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 2.py | 162ms | 0.5ms | 71.2MB | 130ms | 13ms | pypy 3.9.16 |
python | 1.py | 181ms | 1.1ms | 72.4MB | 140ms | 23ms | pypy 3.9.16 |
ruby | 1.rb | 272ms | 2.5ms | 32.8MB | 243ms | 13ms | ruby/yjit 3.2.2 |
ruby | 1.rb | 363ms | 3.1ms | 32.3MB | 333ms | 17ms | ruby 3.2.2 |
python | 1.py | 444ms | 1.3ms | 8.8MB | 430ms | 0ms | pyston 3.8.12 |
python | 2.py | 506ms | 6.4ms | 8.3MB | 490ms | 0ms | pyston 3.8.12 |
python | 1.py | 598ms | 1.3ms | 8.7MB | 583ms | 0ms | cpython 3.11.3 |
python | 2.py | 712ms | 6.9ms | 8.4MB | 697ms | 0ms | cpython 3.11.3 |
ruby | 1-m.rb | 721ms | 29ms | 322.6MB | 1060ms | 123ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 1.py | 2892ms | 160ms | 230.4MB | 2713ms | 160ms | pypy 3.9.16 |
python | 1.py | timeout | 0.0ms | 92.9MB | 4940ms | 40ms | cpython 3.11.3 |
python | 1.py | timeout | 0.0ms | 130.3MB | 4920ms | 53ms | pyston 3.8.12 |
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 |
---|---|---|---|---|---|---|---|
python | 1.py | 423ms | 11ms | 149.9MB | 360ms | 47ms | pypy 3.9.16 |
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 |
python | 1.py | timeout | 0.0ms | 37.1MB | 4977ms | 7ms | cpython 3.11.3 |
python | 1.py | timeout | 0.0ms | 41.4MB | 4960ms | 17ms | pyston 3.8.12 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ruby | 2.rb | 1283ms | 37ms | 320.7MB | 1533ms | 127ms | truffleruby 22.3.1 |
python | 2.py | 2132ms | 23ms | 71.3MB | 2103ms | 10ms | pypy 3.9.16 |
python | 1.py | 3664ms | 19ms | 70.4MB | 3623ms | 23ms | pypy 3.9.16 |
python | 1.py | timeout | 0.0ms | 8.4MB | 4987ms | 0ms | cpython 3.11.3 |
python | 2.py | timeout | 0.0ms | 8.6MB | 4983ms | 0ms | cpython 3.11.3 |
python | 1.py | timeout | 0.0ms | 8.3MB | 4987ms | 0ms | pyston 3.8.12 |
python | 2.py | timeout | 0.0ms | 7.9MB | 4980ms | 0ms | pyston 3.8.12 |
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 |
---|---|---|---|---|---|---|---|
python | 2.py | 279ms | 3.4ms | 71.2MB | 253ms | 10ms | pypy 3.9.16 |
python | 1.py | 425ms | 14ms | 70.4MB | 390ms | 17ms | pypy 3.9.16 |
ruby | 2-m.rb | 457ms | 19ms | 301.8MB | 693ms | 93ms | truffleruby 22.3.1 |
python | 1.py | 1156ms | 2.0ms | 8.4MB | 1137ms | 3ms | pyston 3.8.12 |
python | 2.py | 1597ms | 31ms | 7.9MB | 1577ms | 3ms | pyston 3.8.12 |
ruby | 2.rb | 2111ms | 10ms | 32.9MB | 2067ms | 23ms | ruby/yjit 3.2.2 |
python | 1.py | 3179ms | 60ms | 8.4MB | 3167ms | 3ms | cpython 3.11.3 |
ruby | 2.rb | 3201ms | 26ms | 32.2MB | 3180ms | 7ms | ruby 3.2.2 |
python | 2.py | 3574ms | 7.6ms | 8.6MB | 3557ms | 0ms | cpython 3.11.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 1.py | timeout | 0.0ms | 321.0MB | 4897ms | 80ms | cpython 3.11.3 |
python | 2.py | timeout | 0.0ms | 633.5MB | 4677ms | 307ms | cpython 3.11.3 |
python | 1.py | timeout | 0.0ms | 382.8MB | 4850ms | 133ms | pypy 3.9.16 |
python | 2.py | timeout | 0.0ms | 991.9MB | 4623ms | 360ms | pypy 3.9.16 |
python | 1.py | timeout | 0.0ms | 320.4MB | 4903ms | 80ms | pyston 3.8.12 |
python | 2.py | timeout | 0.0ms | 633.3MB | 4557ms | 423ms | pyston 3.8.12 |
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 |
---|---|---|---|---|---|---|---|
python | 1.py | 1331ms | 14ms | 207.2MB | 1257ms | 60ms | pypy 3.9.16 |
python | 2.py | 1563ms | 21ms | 164.4MB | 1463ms | 83ms | pyston 3.8.12 |
python | 2.py | 2088ms | 6.3ms | 164.9MB | 1990ms | 83ms | cpython 3.11.3 |
python | 2.py | 2161ms | 4.7ms | 210.5MB | 2013ms | 133ms | pypy 3.9.16 |
python | 1.py | 3370ms | 74ms | 86.0MB | 3313ms | 37ms | pyston 3.8.12 |
ruby | 1.rb | 3763ms | 62ms | 428.9MB | 4377ms | 187ms | truffleruby 22.3.1 |
python | 1.py | 4719ms | 66ms | 86.6MB | 4660ms | 40ms | cpython 3.11.3 |
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 |
---|---|---|---|---|---|---|---|
python | 4.py | 2411ms | 1.3ms | 9.1MB | 2383ms | 10ms | pyston 3.8.12 |
python | 4.py | 2548ms | 1.1ms | 9.4MB | 2503ms | 27ms | cpython 3.11.3 |
python | 4.py | 2622ms | 44ms | 125.4MB | 2547ms | 57ms | pypy 3.9.16 |
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 |
---|---|---|---|---|---|---|---|
python | 4.py | 576ms | 0.8ms | 8.8MB | 560ms | 0ms | pyston 3.8.12 |
python | 4.py | 607ms | 0.3ms | 9.1MB | 593ms | 0ms | cpython 3.11.3 |
python | 4.py | 672ms | 6.8ms | 77.0MB | 640ms | 17ms | pypy 3.9.16 |
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 |
---|---|---|---|---|---|---|---|
python | 8.py | timeout | 0.0ms | 16.3MB | 50ms | 10ms | cpython 3.11.3 |
python | 8.py | timeout | 0.0ms | 99.0MB | 657ms | 100ms | pypy 3.9.16 |
python | 8.py | timeout | 0.0ms | 16.3MB | 70ms | 20ms | pyston 3.8.12 |
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 |
---|---|---|---|---|---|---|---|
python | 8.py | timeout | 0.0ms | 16.2MB | 97ms | 17ms | cpython 3.11.3 |
python | 8.py | timeout | 0.0ms | 102.4MB | 1130ms | 193ms | pypy 3.9.16 |
python | 8.py | timeout | 0.0ms | 17.6MB | 167ms | 27ms | pyston 3.8.12 |
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 |
---|---|---|---|---|---|---|---|
ruby | 4.rb | 3234ms | 30ms | 410.8MB | 3887ms | 177ms | truffleruby 22.3.1 |
python | 8-m.py | 4105ms | 62ms | 103.1MB | 7120ms | 430ms | pypy 3.9.16 |
python | 8.py | timeout | 0.0ms | 15.9MB | 230ms | 23ms | cpython 3.11.3 |
python | 8.py | timeout | 0.0ms | 16.7MB | 310ms | 70ms | pyston 3.8.12 |
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 |