Current benchmark data was generated on Wed May 25 2022, 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 |
---|---|---|---|---|---|---|---|
d | 1.d | 3653ms | 27ms | 75.1MB | 3940ms | 20ms | ldc2 1.29.0 |
d | 1.d | timeout | 0.0ms | 0.0MB | 0ms | 0ms | dmd 2.100.0 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby 3.1.2 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby/yjit 3.1.2 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 300ms | 2.5ms | 15.1MB | 290ms | 0ms | ldc2 1.29.0 |
d | 1.d | 469ms | 8.4ms | 16.3MB | 457ms | 3ms | dmd 2.100.0 |
ruby | 1.rb | 959ms | 4.8ms | 35.5MB | 927ms | 20ms | ruby 3.1.2 |
ruby | 1.rb | 1007ms | 63ms | 292.1MB | 833ms | 157ms | ruby/yjit 3.1.2 |
ruby | 1-m.rb | 1154ms | 16ms | 374.0MB | 1910ms | 153ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ruby | 1.rb | 3734ms | 38ms | 336.8MB | 3510ms | 207ms | ruby/yjit 3.1.2 |
d | 1.d | timeout | 0.0ms | 0.0MB | 0ms | 0ms | dmd 2.100.0 |
d | 1.d | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ldc2 1.29.0 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby 3.1.2 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ruby | 1.rb | 274ms | 3.5ms | 42.3MB | 230ms | 23ms | ruby 3.1.2 |
ruby | 1.rb | 439ms | 2.5ms | 298.8MB | 270ms | 150ms | ruby/yjit 3.1.2 |
d | 1.d | 1260ms | 1.3ms | 8.3MB | 1247ms | 0ms | ldc2 1.29.0 |
d | 1.d | 1685ms | 3.6ms | 11.0MB | 1667ms | 7ms | dmd 2.100.0 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 2.7ms | 0.6ms | 4.0MB | 0ms | 0ms | dmd 2.100.0 |
d | 1.d | 3.3ms | 1.9ms | 3.0MB | 0ms | 0ms | ldc2 1.29.0 |
ruby | 1.rb | 47ms | 1.2ms | 138.4MB | 20ms | 30ms | truffleruby 22.1.0 |
ruby | 1.rb | 68ms | 3.3ms | 29.9MB | 46ms | 8ms | ruby 3.1.2 |
ruby | 1.rb | 255ms | 11ms | 286.7MB | 106ms | 136ms | ruby/yjit 3.1.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 180ms | 2.8ms | 4.0MB | 170ms | 0ms | ldc2 1.29.0 |
d | 1.d | 255ms | 0.3ms | 4.9MB | 240ms | 0ms | dmd 2.100.0 |
ruby | 1.rb | 601ms | 3.2ms | 30.2MB | 573ms | 13ms | ruby 3.1.2 |
ruby | 1.rb | 668ms | 1.4ms | 286.7MB | 507ms | 147ms | ruby/yjit 3.1.2 |
ruby | 1-m.rb | 1118ms | 34ms | 324.3MB | 1683ms | 130ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 527ms | 4.1ms | 4.1MB | 520ms | 0ms | ldc2 1.29.0 |
d | 1.d | 744ms | 1.9ms | 4.8MB | 737ms | 0ms | dmd 2.100.0 |
ruby | 1.rb | 1454ms | 1.2ms | 286.8MB | 1283ms | 153ms | ruby/yjit 3.1.2 |
ruby | 1.rb | 1827ms | 148ms | 30.2MB | 1800ms | 10ms | ruby 3.1.2 |
ruby | 1-m.rb | 1929ms | 66ms | 366.3MB | 2780ms | 180ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 76ms | 1.8ms | 3.8MB | 60ms | 0ms | ldc2 1.29.0 |
d | 1.d | 111ms | 0.9ms | 5.2MB | 100ms | 0ms | dmd 2.100.0 |
ruby | 1.rb | 334ms | 0.5ms | 30.0MB | 313ms | 3ms | ruby 3.1.2 |
ruby | 1.rb | 419ms | 1.1ms | 286.8MB | 280ms | 123ms | ruby/yjit 3.1.2 |
ruby | 1-m.rb | 801ms | 86ms | 311.0MB | 1277ms | 97ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 1813ms | 8.3ms | 74.9MB | 1880ms | 23ms | ldc2 1.29.0 |
d | 1.d | 2891ms | 117ms | 153.4MB | 3213ms | 47ms | dmd 2.100.0 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby 3.1.2 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby/yjit 3.1.2 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 352ms | 1.3ms | 39.0MB | 327ms | 13ms | ldc2 1.29.0 |
d | 1.d | 577ms | 23ms | 39.9MB | 630ms | 3ms | dmd 2.100.0 |
ruby | 1-m.rb | 3899ms | 12ms | 522.4MB | 7130ms | 253ms | truffleruby 22.1.0 |
ruby | 1.rb | 3919ms | 269ms | 300.9MB | 3750ms | 147ms | ruby/yjit 3.1.2 |
ruby | 1.rb | 4824ms | 19ms | 44.4MB | 4790ms | 17ms | ruby 3.1.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 463ms | 9.0ms | 1.2MB | 450ms | 0ms | ldc2 1.29.0 |
d | 2.d | 487ms | 1.8ms | 1.2MB | 473ms | 0ms | ldc2 1.29.0 |
d | 1.d | 1093ms | 2.5ms | 1.9MB | 1080ms | 0ms | dmd 2.100.0 |
ruby | 2.rb | 1453ms | 19ms | 300.6MB | 1823ms | 127ms | truffleruby 22.1.0 |
d | 2.d | 2903ms | 0.8ms | 2.0MB | 2890ms | 0ms | dmd 2.100.0 |
ruby | 2.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby 3.1.2 |
ruby | 2.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby/yjit 3.1.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 51ms | 0.7ms | 1.2MB | 40ms | 0ms | ldc2 1.29.0 |
d | 2.d | 52ms | 0.3ms | 1.2MB | 40ms | 0ms | ldc2 1.29.0 |
d | 1.d | 127ms | 0.4ms | 2.0MB | 120ms | 0ms | dmd 2.100.0 |
d | 2.d | 260ms | 0.6ms | 1.9MB | 250ms | 0ms | dmd 2.100.0 |
ruby | 2-m.rb | 547ms | 17ms | 293.9MB | 873ms | 107ms | truffleruby 22.1.0 |
ruby | 2.rb | 2300ms | 157ms | 286.8MB | 2147ms | 137ms | ruby/yjit 3.1.2 |
ruby | 2.rb | 2985ms | 224ms | 30.0MB | 2960ms | 10ms | ruby 3.1.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 2.d | 868ms | 1.3ms | 48.8MB | 837ms | 13ms | ldc2 1.29.0 |
d | 1.d | 1293ms | 6.4ms | 44.0MB | 1260ms | 13ms | ldc2 1.29.0 |
d | 1.d | 1304ms | 41ms | 75.1MB | 1273ms | 13ms | dmd 2.100.0 |
d | 2.d | 1728ms | 2.6ms | 49.2MB | 1700ms | 13ms | dmd 2.100.0 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby 3.1.2 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby/yjit 3.1.2 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 124ms | 3.7ms | 14.2MB | 113ms | 0ms | ldc2 1.29.0 |
d | 1.d | 145ms | 1.6ms | 23.6MB | 127ms | 3ms | dmd 2.100.0 |
d | 2.d | 205ms | 0.2ms | 15.2MB | 187ms | 3ms | ldc2 1.29.0 |
d | 2.d | 430ms | 0.4ms | 15.9MB | 410ms | 7ms | dmd 2.100.0 |
ruby | 1.rb | 4255ms | 11ms | 450.1MB | 4693ms | 197ms | truffleruby 22.1.0 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby 3.1.2 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby/yjit 3.1.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 3485ms | 3.3ms | 7.8MB | 3513ms | 30ms | ldc2 1.29.0 |
d | 1.d | timeout | 0.0ms | 0.0MB | 0ms | 0ms | dmd 2.100.0 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby 3.1.2 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby/yjit 3.1.2 |
ruby | 1.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 833ms | 2.2ms | 8.0MB | 830ms | 0ms | ldc2 1.29.0 |
d | 1.d | 1380ms | 91ms | 8.8MB | 1380ms | 0ms | dmd 2.100.0 |
ruby | 1-m.rb | 2398ms | 14ms | 380.8MB | 4403ms | 170ms | truffleruby 22.1.0 |
ruby | 1.rb | 2920ms | 118ms | 162.8MB | 2817ms | 83ms | ruby 3.1.2 |
ruby | 1.rb | 3138ms | 10ms | 420.7MB | 2910ms | 213ms | ruby/yjit 3.1.2 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 3889ms | 1.5ms | 3.8MB | 3877ms | 0ms | ldc2 1.29.0 |
d | 1.d | 4416ms | 24ms | 4.6MB | 4400ms | 0ms | dmd 2.100.0 |
ruby | 4.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby 3.1.2 |
ruby | 4.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby/yjit 3.1.2 |
ruby | 4.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 977ms | 1.0ms | 3.6MB | 963ms | 0ms | ldc2 1.29.0 |
d | 1.d | 1104ms | 0.1ms | 4.5MB | 1093ms | 0ms | dmd 2.100.0 |
ruby | 4.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby 3.1.2 |
ruby | 4.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby/yjit 3.1.2 |
ruby | 4.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | truffleruby 22.1.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
d | 1.d | 248ms | 1.6ms | 3.2MB | 233ms | 0ms | ldc2 1.29.0 |
d | 1.d | 281ms | 1.1ms | 3.9MB | 270ms | 0ms | dmd 2.100.0 |
ruby | 4.rb | 2702ms | 3.9ms | 365.9MB | 3373ms | 150ms | truffleruby 22.1.0 |
ruby | 4.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby 3.1.2 |
ruby | 4.rb | timeout | 0.0ms | 0.0MB | 0ms | 0ms | ruby/yjit 3.1.2 |