Current benchmark data was generated on Sun Jan 29 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 |
---|---|---|---|---|---|---|---|
wasm | 3.rs | 2041ms | 2.7ms | 47.7MB | 2013ms | 10ms | wasmedgec 0.11.2 |
wasm | 5.rs | 2088ms | 3.3ms | 31.6MB | 2067ms | 3ms | wasmedgec 0.11.2 |
wasm | 4.rs | 2279ms | 3.3ms | 31.6MB | 2260ms | 3ms | wasmedgec 0.11.2 |
wasm | 3.rs | 2493ms | 19ms | 42.7MB | 2467ms | 3ms | wasmtime 5.0.0 |
wasm | 5.rs | 2790ms | 2.3ms | 26.9MB | 2770ms | 3ms | wasmtime 5.0.0 |
wasm | 4.rs | 2809ms | 12ms | 58.6MB | 2803ms | 10ms | node 16.19.0 |
wasm | 3.rs | 2813ms | 33ms | 74.6MB | 2807ms | 20ms | node 16.19.0 |
wasm | 5.rs | 2831ms | 24ms | 59.5MB | 2823ms | 7ms | node 16.19.0 |
wasm | 4.rs | 3099ms | 11ms | 26.9MB | 3083ms | 0ms | wasmtime 5.0.0 |
ruby | 1.rb | timeout | 0.0ms | 72.6MB | 4967ms | 17ms | ruby 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 115.6MB | 4940ms | 40ms | ruby/yjit 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 757.2MB | 7747ms | 373ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 3.rs | 194ms | 0.5ms | 18.7MB | 187ms | 0ms | wasmedgec 0.11.2 |
wasm | 5.rs | 201ms | 0.3ms | 16.7MB | 190ms | 0ms | wasmedgec 0.11.2 |
wasm | 4.rs | 222ms | 4.3ms | 19.0MB | 203ms | 0ms | wasmedgec 0.11.2 |
wasm | 3.rs | 237ms | 5.1ms | 14.8MB | 223ms | 0ms | wasmtime 5.0.0 |
wasm | 5.rs | 269ms | 4.3ms | 12.9MB | 253ms | 0ms | wasmtime 5.0.0 |
wasm | 4.rs | 297ms | 7.1ms | 12.9MB | 283ms | 0ms | wasmtime 5.0.0 |
wasm | 3.rs | 331ms | 4.4ms | 46.5MB | 327ms | 10ms | node 16.19.0 |
wasm | 4.rs | 333ms | 4.6ms | 44.3MB | 333ms | 7ms | node 16.19.0 |
wasm | 5.rs | 338ms | 4.3ms | 43.9MB | 343ms | 3ms | node 16.19.0 |
ruby | 1.rb | 535ms | 0.7ms | 40.7MB | 513ms | 7ms | ruby/yjit 3.2.0 |
ruby | 1-m.rb | 965ms | 36ms | 426.1MB | 1560ms | 130ms | truffleruby 22.3.1 |
ruby | 1.rb | 983ms | 12ms | 40.3MB | 947ms | 17ms | ruby 3.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 3.rs | 1470ms | 16ms | 50.3MB | 1510ms | 7ms | node 16.19.0 |
wasm | 3.rs | 1566ms | 4.2ms | 12.9MB | 1550ms | 0ms | wasmtime 5.0.0 |
wasm | 3.rs | 1935ms | 4.4ms | 17.9MB | 1920ms | 0ms | wasmedgec 0.11.2 |
ruby | 1.rb | 3078ms | 7.8ms | 82.8MB | 2993ms | 70ms | ruby/yjit 3.2.0 |
ruby | 1.rb | 3445ms | 2.1ms | 82.2MB | 3363ms | 60ms | ruby 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 1060.0MB | 4270ms | 1283ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 3.rs | 107ms | 0.3ms | 11.6MB | 93ms | 0ms | wasmtime 5.0.0 |
wasm | 3.rs | 133ms | 0.3ms | 15.9MB | 123ms | 0ms | wasmedgec 0.11.2 |
wasm | 3.rs | 209ms | 3.6ms | 48.8MB | 247ms | 7ms | node 16.19.0 |
ruby | 1.rb | 219ms | 4.0ms | 44.8MB | 187ms | 17ms | ruby/yjit 3.2.0 |
ruby | 1.rb | 232ms | 1.7ms | 44.5MB | 197ms | 17ms | ruby 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 1052.7MB | 4280ms | 1217ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 356ms | 0.9ms | 15.6MB | 343ms | 0ms | wasmedgec 0.11.2 |
wasm | 1.rs | 409ms | 1.4ms | 11.2MB | 400ms | 0ms | wasmtime 5.0.0 |
wasm | 1.rs | 440ms | 2.0ms | 43.5MB | 453ms | 3ms | node 16.19.0 |
ruby | 6.rb | 2344ms | 2.0ms | 43.6MB | 2310ms | 17ms | ruby/yjit 3.2.0 |
ruby | 6-m.rb | 2496ms | 56ms | 375.1MB | 4513ms | 257ms | truffleruby 22.3.1 |
ruby | 6.rb | 4310ms | 33ms | 43.1MB | 4283ms | 17ms | ruby 3.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 45ms | 3.0ms | 15.5MB | 30ms | 0ms | wasmedgec 0.11.2 |
wasm | 1.rs | 47ms | 1.1ms | 9.2MB | 30ms | 0ms | wasmtime 5.0.0 |
wasm | 1.rs | 121ms | 0.9ms | 43.2MB | 137ms | 3ms | node 16.19.0 |
ruby | 6.rb | 305ms | 1.2ms | 34.8MB | 280ms | 10ms | ruby/yjit 3.2.0 |
ruby | 6.rb | 497ms | 2.8ms | 34.4MB | 477ms | 3ms | ruby 3.2.0 |
ruby | 6-m.rb | 801ms | 16ms | 318.7MB | 1377ms | 97ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 5.7ms | 0.4ms | 15.5MB | 0ms | 0ms | wasmedgec 0.11.2 |
wasm | 1.rs | 5.8ms | 1.1ms | 9.1MB | 0ms | 0ms | wasmtime 5.0.0 |
ruby | 1.rb | 41ms | 2.6ms | 156.3MB | 16ms | 26ms | truffleruby 22.3.1 |
ruby | 1.rb | 72ms | 0.3ms | 32.5MB | 46ms | 14ms | ruby/yjit 3.2.0 |
ruby | 1.rb | 72ms | 0.5ms | 32.1MB | 48ms | 12ms | ruby 3.2.0 |
wasm | 1.rs | 79ms | 1.9ms | 43.5MB | 96ms | 2ms | node 16.19.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 158ms | 0.6ms | 15.0MB | 150ms | 0ms | wasmedgec 0.11.2 |
wasm | 1.rs | 206ms | 1.8ms | 11.1MB | 197ms | 0ms | wasmtime 5.0.0 |
wasm | 1.rs | 273ms | 3.1ms | 44.5MB | 280ms | 7ms | node 16.19.0 |
ruby | 1.rb | 445ms | 3.9ms | 33.0MB | 423ms | 7ms | ruby/yjit 3.2.0 |
ruby | 1.rb | 602ms | 5.2ms | 32.4MB | 573ms | 13ms | ruby 3.2.0 |
ruby | 1-m.rb | 753ms | 19ms | 323.9MB | 1107ms | 97ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 459ms | 1.5ms | 15.1MB | 443ms | 0ms | wasmedgec 0.11.2 |
wasm | 1.rs | 601ms | 1.6ms | 11.1MB | 587ms | 0ms | wasmtime 5.0.0 |
wasm | 1.rs | 644ms | 1.9ms | 44.4MB | 657ms | 3ms | node 16.19.0 |
ruby | 1.rb | 1174ms | 2.2ms | 32.9MB | 1153ms | 10ms | ruby/yjit 3.2.0 |
ruby | 1.rb | 1398ms | 49ms | 364.8MB | 1797ms | 137ms | truffleruby 22.3.1 |
ruby | 1.rb | 1668ms | 32ms | 32.4MB | 1640ms | 13ms | ruby 3.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 82ms | 0.3ms | 16.0MB | 70ms | 0ms | wasmedgec 0.11.2 |
wasm | 1.rs | 103ms | 0.2ms | 9.3MB | 90ms | 0ms | wasmtime 5.0.0 |
wasm | 1.rs | 176ms | 4.4ms | 44.3MB | 193ms | 0ms | node 16.19.0 |
ruby | 1.rb | 258ms | 2.3ms | 32.9MB | 233ms | 10ms | ruby/yjit 3.2.0 |
ruby | 1.rb | 335ms | 5.5ms | 32.3MB | 310ms | 7ms | ruby 3.2.0 |
ruby | 1-m.rb | 565ms | 51ms | 309.0MB | 860ms | 87ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 1181ms | 2.7ms | 39.2MB | 1160ms | 3ms | wasmedgec 0.11.2 |
wasm | 1.rs | 1409ms | 21ms | 34.8MB | 1390ms | 3ms | wasmtime 5.0.0 |
wasm | 1.rs | 1428ms | 21ms | 67.4MB | 1427ms | 10ms | node 16.19.0 |
ruby | 1.rb | timeout | 0.0ms | 96.5MB | 4937ms | 43ms | ruby 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 97.0MB | 4937ms | 50ms | ruby/yjit 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 570.5MB | 9237ms | 210ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 255ms | 0.5ms | 21.6MB | 240ms | 0ms | wasmedgec 0.11.2 |
wasm | 1.rs | 300ms | 0.6ms | 17.1MB | 283ms | 0ms | wasmtime 5.0.0 |
wasm | 1.rs | 360ms | 1.7ms | 49.3MB | 370ms | 3ms | node 16.19.0 |
ruby | 1-m.rb | 3223ms | 39ms | 596.5MB | 5953ms | 190ms | truffleruby 22.3.1 |
ruby | 1.rb | 4080ms | 11ms | 53.7MB | 4047ms | 17ms | ruby/yjit 3.2.0 |
ruby | 1.rb | 4848ms | 44ms | 52.7MB | 4810ms | 23ms | ruby 3.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 488ms | 0.6ms | 10.9MB | 477ms | 0ms | wasmtime 5.0.0 |
wasm | 1.rs | 500ms | 1.0ms | 16.0MB | 483ms | 0ms | wasmedgec 0.11.2 |
wasm | 1.rs | 565ms | 1.9ms | 48.0MB | 587ms | 3ms | node 16.19.0 |
wasm | 2.rs | 665ms | 0.1ms | 9.4MB | 653ms | 0ms | wasmtime 5.0.0 |
wasm | 2.rs | 691ms | 0.6ms | 15.0MB | 677ms | 3ms | wasmedgec 0.11.2 |
wasm | 2.rs | 743ms | 1.7ms | 48.8MB | 760ms | 10ms | node 16.19.0 |
ruby | 2.rb | 1013ms | 1.8ms | 306.6MB | 1220ms | 67ms | truffleruby 22.3.1 |
ruby | 2.rb | timeout | 0.0ms | 32.2MB | 4973ms | 10ms | ruby 3.2.0 |
ruby | 2.rb | timeout | 0.0ms | 33.0MB | 4967ms | 17ms | ruby/yjit 3.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 56ms | 0.7ms | 11.4MB | 43ms | 0ms | wasmtime 5.0.0 |
wasm | 1.rs | 58ms | 1.7ms | 15.4MB | 43ms | 0ms | wasmedgec 0.11.2 |
wasm | 2.rs | 74ms | 0.8ms | 11.2MB | 60ms | 0ms | wasmtime 5.0.0 |
wasm | 2.rs | 76ms | 0.5ms | 15.3MB | 60ms | 0ms | wasmedgec 0.11.2 |
wasm | 1.rs | 144ms | 2.2ms | 47.7MB | 167ms | 0ms | node 16.19.0 |
wasm | 2.rs | 166ms | 2.9ms | 48.8MB | 180ms | 10ms | node 16.19.0 |
ruby | 2-m.rb | 380ms | 2.8ms | 305.0MB | 580ms | 73ms | truffleruby 22.3.1 |
ruby | 2.rb | 2169ms | 0.8ms | 33.0MB | 2140ms | 10ms | ruby/yjit 3.2.0 |
ruby | 2.rb | 3369ms | 22ms | 32.2MB | 3340ms | 13ms | ruby 3.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 554ms | 0.4ms | 21.4MB | 537ms | 3ms | wasmedgec 0.11.2 |
wasm | 1.rs | 665ms | 11ms | 53.7MB | 647ms | 7ms | wasmedgec 0.11.2 |
wasm | 2.rs | 720ms | 5.8ms | 48.9MB | 727ms | 7ms | node 16.19.0 |
wasm | 2.rs | 729ms | 7.3ms | 15.9MB | 710ms | 0ms | wasmtime 5.0.0 |
wasm | 1.rs | 765ms | 32ms | 82.8MB | 767ms | 10ms | node 16.19.0 |
wasm | 1.rs | 1020ms | 12ms | 50.0MB | 1003ms | 7ms | wasmtime 5.0.0 |
ruby | 1.rb | timeout | 0.0ms | 344.6MB | 4850ms | 123ms | ruby 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 345.1MB | 4833ms | 143ms | ruby/yjit 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 689.3MB | 5030ms | 153ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 136ms | 2.1ms | 16.7MB | 123ms | 0ms | wasmedgec 0.11.2 |
wasm | 1.rs | 142ms | 0.4ms | 25.4MB | 130ms | 0ms | wasmedgec 0.11.2 |
wasm | 2.rs | 176ms | 0.6ms | 12.1MB | 167ms | 0ms | wasmtime 5.0.0 |
wasm | 2.rs | 229ms | 4.4ms | 44.5MB | 237ms | 3ms | node 16.19.0 |
wasm | 1.rs | 231ms | 0.8ms | 20.6MB | 220ms | 0ms | wasmtime 5.0.0 |
wasm | 1.rs | 232ms | 4.0ms | 53.3MB | 237ms | 3ms | node 16.19.0 |
ruby | 1.rb | 2733ms | 12ms | 428.6MB | 3227ms | 123ms | truffleruby 22.3.1 |
ruby | 1.rb | timeout | 0.0ms | 151.1MB | 4910ms | 70ms | ruby 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 151.5MB | 4910ms | 70ms | ruby/yjit 3.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 2766ms | 6.0ms | 17.3MB | 2750ms | 0ms | wasmedgec 0.11.2 |
wasm | 2.rs | 3086ms | 2.1ms | 11.8MB | 3070ms | 0ms | wasmtime 5.0.0 |
wasm | 2.rs | 3429ms | 44ms | 49.1MB | 3470ms | 10ms | node 16.19.0 |
ruby | 1.rb | timeout | 0.0ms | 158.2MB | 4917ms | 57ms | ruby 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 158.6MB | 4930ms | 50ms | ruby/yjit 3.2.0 |
ruby | 1.rb | timeout | 0.0ms | 428.4MB | 9447ms | 213ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 651ms | 3.0ms | 16.4MB | 637ms | 0ms | wasmedgec 0.11.2 |
wasm | 2.rs | 725ms | 0.5ms | 11.3MB | 713ms | 0ms | wasmtime 5.0.0 |
wasm | 2.rs | 881ms | 0.8ms | 48.8MB | 920ms | 7ms | node 16.19.0 |
ruby | 1-m.rb | 1921ms | 17ms | 423.5MB | 3527ms | 133ms | truffleruby 22.3.1 |
ruby | 1.rb | 2377ms | 5.5ms | 159.8MB | 2310ms | 47ms | ruby/yjit 3.2.0 |
ruby | 1.rb | 2381ms | 3.7ms | 158.3MB | 2307ms | 60ms | ruby 3.2.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 4124ms | 0.8ms | 16.2MB | 4110ms | 0ms | wasmedgec 0.11.2 |
wasm | 7.rs | 4241ms | 0.7ms | 15.1MB | 4227ms | 0ms | wasmedgec 0.11.2 |
wasm | 2.rs | 4382ms | 147ms | 48.6MB | 4403ms | 3ms | node 16.19.0 |
wasm | 2.rs | 4401ms | 38ms | 11.3MB | 4387ms | 0ms | wasmtime 5.0.0 |
wasm | 7.rs | 4495ms | 6.9ms | 48.8MB | 4520ms | 3ms | node 16.19.0 |
wasm | 7.rs | 4611ms | 0.3ms | 11.2MB | 4600ms | 0ms | wasmtime 5.0.0 |
ruby | 4.rb | timeout | 0.0ms | 32.2MB | 4977ms | 7ms | ruby 3.2.0 |
ruby | 4.rb | timeout | 0.0ms | 32.8MB | 4973ms | 10ms | ruby/yjit 3.2.0 |
ruby | 4.rb | timeout | 0.0ms | 585.6MB | 5217ms | 223ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 1037ms | 0.4ms | 16.6MB | 1023ms | 0ms | wasmedgec 0.11.2 |
wasm | 7.rs | 1066ms | 0.5ms | 15.7MB | 1053ms | 0ms | wasmedgec 0.11.2 |
wasm | 2.rs | 1112ms | 1.0ms | 11.3MB | 1100ms | 0ms | wasmtime 5.0.0 |
wasm | 2.rs | 1150ms | 2.7ms | 48.3MB | 1173ms | 7ms | node 16.19.0 |
wasm | 7.rs | 1164ms | 3.7ms | 11.3MB | 1150ms | 0ms | wasmtime 5.0.0 |
wasm | 7.rs | 1199ms | 2.1ms | 48.8MB | 1227ms | 0ms | node 16.19.0 |
ruby | 4.rb | timeout | 0.0ms | 32.1MB | 4970ms | 10ms | ruby 3.2.0 |
ruby | 4.rb | timeout | 0.0ms | 32.8MB | 4973ms | 10ms | ruby/yjit 3.2.0 |
ruby | 4.rb | timeout | 0.0ms | 580.5MB | 5417ms | 200ms | truffleruby 22.3.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 266ms | 1.1ms | 17.0MB | 250ms | 0ms | wasmedgec 0.11.2 |
wasm | 7.rs | 275ms | 3.4ms | 14.5MB | 257ms | 0ms | wasmedgec 0.11.2 |
wasm | 2.rs | 283ms | 0.4ms | 9.4MB | 270ms | 0ms | wasmtime 5.0.0 |
wasm | 7.rs | 299ms | 1.9ms | 10.9MB | 287ms | 0ms | wasmtime 5.0.0 |
wasm | 2.rs | 363ms | 2.1ms | 48.5MB | 383ms | 3ms | node 16.19.0 |
wasm | 7.rs | 376ms | 0.6ms | 48.8MB | 397ms | 10ms | node 16.19.0 |
ruby | 4.rb | 2454ms | 2.0ms | 479.2MB | 2940ms | 143ms | truffleruby 22.3.1 |
ruby | 4.rb | timeout | 0.0ms | 32.4MB | 4970ms | 7ms | ruby 3.2.0 |
ruby | 4.rb | timeout | 0.0ms | 32.8MB | 4967ms | 13ms | ruby/yjit 3.2.0 |