Current benchmark data was generated on Fri May 20 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 |
---|---|---|---|---|---|---|---|
odin | 1.odin | 2.1ms | 1.0ms | 0.9MB | 0ms | 0ms | odin 2022 |
wasm | 1.rs | 6.3ms | 0.6ms | 10.2MB | 0ms | 0ms | wasmtime 0.36.0 |
wasm | 1.rs | 6.3ms | 6.5ms | 5.7MB | 0ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 1.rs | 9.0ms | 0.7ms | 8.6MB | 0ms | 0ms | wasmedgec 0.9.1 |
wasm | 1.rs | 75ms | 1.7ms | 42.1MB | 90ms | 2ms | node 16.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 125ms | 0.5ms | 6.4MB | 117ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 1.rs | 139ms | 3.1ms | 9.3MB | 127ms | 0ms | wasmedgec 0.9.1 |
wasm | 1.rs | 158ms | 2.5ms | 10.7MB | 143ms | 0ms | wasmtime 0.36.0 |
odin | 1.odin | 176ms | 1.5ms | 1.8MB | 160ms | 0ms | odin 2022 |
wasm | 1.rs | 218ms | 2.1ms | 43.5MB | 230ms | 7ms | node 16.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 369ms | 3.8ms | 6.4MB | 357ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 1.rs | 396ms | 3.4ms | 9.3MB | 387ms | 0ms | wasmedgec 0.9.1 |
wasm | 1.rs | 448ms | 0.7ms | 11.0MB | 437ms | 0ms | wasmtime 0.36.0 |
wasm | 1.rs | 483ms | 2.8ms | 43.4MB | 497ms | 7ms | node 16.15.0 |
odin | 1.odin | 517ms | 3.6ms | 1.8MB | 503ms | 0ms | odin 2022 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 71ms | 15ms | 6.2MB | 50ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 1.rs | 75ms | 2.8ms | 9.2MB | 67ms | 0ms | wasmedgec 0.9.1 |
wasm | 1.rs | 77ms | 1.4ms | 9.3MB | 63ms | 0ms | wasmtime 0.36.0 |
odin | 1.odin | 82ms | 0.2ms | 0.8MB | 70ms | 0ms | odin 2022 |
wasm | 1.rs | 151ms | 1.5ms | 43.4MB | 170ms | 0ms | node 16.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 8.rs | 1061ms | 2.0ms | 46.5MB | 1073ms | 0ms | node 16.15.0 |
wasm | 8.rs | 1099ms | 1.0ms | 12.0MB | 1090ms | 0ms | wasmedgec 0.9.1 |
wasm | 8.rs | 1168ms | 0.3ms | 9.4MB | 1153ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 8.rs | 1479ms | 0.6ms | 13.5MB | 1470ms | 0ms | wasmtime 0.36.0 |
odin | 1.odin | 1615ms | 0.8ms | 4.7MB | 1603ms | 0ms | odin 2022 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 8.rs | 57ms | 0.9ms | 9.2MB | 40ms | 0ms | wasmedgec 0.9.1 |
wasm | 8.rs | 57ms | 9.9ms | 6.3MB | 40ms | 0ms | wasmer/llvm 2.2.1 |
odin | 1.odin | 69ms | 0.3ms | 0.8MB | 60ms | 0ms | odin 2022 |
wasm | 8.rs | 70ms | 0.3ms | 10.7MB | 60ms | 0ms | wasmtime 0.36.0 |
wasm | 8.rs | 123ms | 0.6ms | 43.8MB | 133ms | 13ms | node 16.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 470ms | 1.7ms | 4.9MB | 457ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 1.rs | 503ms | 0.2ms | 9.3MB | 490ms | 0ms | wasmedgec 0.9.1 |
wasm | 1.rs | 519ms | 0.1ms | 9.0MB | 503ms | 0ms | wasmtime 0.36.0 |
wasm | 1.rs | 566ms | 1.9ms | 47.5MB | 590ms | 0ms | node 16.15.0 |
wasm | 2.rs | 664ms | 3.3ms | 5.1MB | 653ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 2.rs | 685ms | 0.8ms | 9.2MB | 673ms | 0ms | wasmedgec 0.9.1 |
wasm | 2.rs | 721ms | 0.3ms | 9.0MB | 710ms | 0ms | wasmtime 0.36.0 |
wasm | 2.rs | 753ms | 1.5ms | 47.4MB | 773ms | 10ms | node 16.15.0 |
odin | 1.odin | 2543ms | 1.4ms | 0.8MB | 2530ms | 0ms | odin 2022 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 56ms | 11ms | 6.0MB | 40ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 1.rs | 59ms | 0.7ms | 11.2MB | 43ms | 0ms | wasmtime 0.36.0 |
wasm | 1.rs | 61ms | 0.8ms | 9.3MB | 50ms | 0ms | wasmedgec 0.9.1 |
wasm | 2.rs | 75ms | 8.8ms | 5.8MB | 57ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 2.rs | 80ms | 1.2ms | 9.7MB | 70ms | 0ms | wasmedgec 0.9.1 |
wasm | 2.rs | 81ms | 4.3ms | 9.4MB | 67ms | 0ms | wasmtime 0.36.0 |
wasm | 1.rs | 143ms | 2.4ms | 47.4MB | 167ms | 10ms | node 16.15.0 |
wasm | 2.rs | 166ms | 3.4ms | 47.5MB | 180ms | 10ms | node 16.15.0 |
odin | 1.odin | 256ms | 0.3ms | 0.8MB | 250ms | 0ms | odin 2022 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 517ms | 5.8ms | 11.1MB | 507ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 2.rs | 563ms | 0.8ms | 13.8MB | 547ms | 0ms | wasmedgec 0.9.1 |
wasm | 2.rs | 634ms | 4.3ms | 15.3MB | 623ms | 0ms | wasmtime 0.36.0 |
wasm | 1.rs | 700ms | 8.8ms | 47.9MB | 683ms | 7ms | wasmedgec 0.9.1 |
wasm | 1.rs | 704ms | 2.2ms | 49.4MB | 680ms | 7ms | wasmtime 0.36.0 |
wasm | 2.rs | 753ms | 2.6ms | 47.6MB | 763ms | 3ms | node 16.15.0 |
wasm | 1.rs | 794ms | 61ms | 82.0MB | 800ms | 13ms | node 16.15.0 |
wasm | 1.rs | 801ms | 1.6ms | 45.2MB | 767ms | 13ms | wasmer/llvm 2.2.1 |
odin | 1.odin | 819ms | 17ms | 40.6MB | 797ms | 7ms | odin 2022 |
odin | 2.odin | 1251ms | 15ms | 6.4MB | 1240ms | 0ms | odin 2022 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
odin | 1.odin | 122ms | 0.2ms | 11.4MB | 110ms | 0ms | odin 2022 |
wasm | 2.rs | 125ms | 13ms | 7.2MB | 107ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 2.rs | 137ms | 0.4ms | 9.9MB | 127ms | 0ms | wasmedgec 0.9.1 |
wasm | 1.rs | 151ms | 1.7ms | 18.7MB | 133ms | 0ms | wasmedgec 0.9.1 |
wasm | 1.rs | 151ms | 11ms | 15.8MB | 130ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 2.rs | 155ms | 1.0ms | 11.6MB | 140ms | 0ms | wasmtime 0.36.0 |
wasm | 1.rs | 161ms | 2.1ms | 20.1MB | 140ms | 0ms | wasmtime 0.36.0 |
wasm | 1.rs | 229ms | 1.4ms | 52.9MB | 237ms | 3ms | node 16.15.0 |
wasm | 2.rs | 237ms | 1.6ms | 43.9MB | 247ms | 7ms | node 16.15.0 |
odin | 2.odin | 303ms | 3.5ms | 2.9MB | 293ms | 0ms | odin 2022 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 4132ms | 6.0ms | 9.7MB | 4120ms | 0ms | wasmedgec 0.9.1 |
wasm | 7.rs | 4217ms | 0.7ms | 6.1MB | 4203ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 2.rs | 4257ms | 1.8ms | 51.2MB | 4283ms | 3ms | node 16.15.0 |
wasm | 7.rs | 4268ms | 0.6ms | 9.7MB | 4253ms | 0ms | wasmedgec 0.9.1 |
wasm | 2.rs | 4393ms | 0.8ms | 6.3MB | 4380ms | 0ms | wasmer/llvm 2.2.1 |
odin | 1.odin | 4493ms | 1.5ms | 2.9MB | 4480ms | 0ms | odin 2022 |
wasm | 7.rs | 4502ms | 10ms | 47.6MB | 4520ms | 7ms | node 16.15.0 |
wasm | 2.rs | 4525ms | 3.3ms | 10.5MB | 4510ms | 0ms | wasmtime 0.36.0 |
wasm | 7.rs | 4615ms | 1.5ms | 10.5MB | 4600ms | 0ms | wasmtime 0.36.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 1041ms | 0.4ms | 9.6MB | 1023ms | 3ms | wasmedgec 0.9.1 |
wasm | 7.rs | 1059ms | 2.5ms | 6.1MB | 1050ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 7.rs | 1076ms | 0.7ms | 9.6MB | 1060ms | 0ms | wasmedgec 0.9.1 |
wasm | 2.rs | 1102ms | 1.0ms | 6.2MB | 1090ms | 0ms | wasmer/llvm 2.2.1 |
odin | 1.odin | 1128ms | 0.4ms | 2.4MB | 1120ms | 0ms | odin 2022 |
wasm | 2.rs | 1137ms | 0.7ms | 10.5MB | 1120ms | 0ms | wasmtime 0.36.0 |
wasm | 2.rs | 1137ms | 0.7ms | 47.5MB | 1160ms | 10ms | node 16.15.0 |
wasm | 7.rs | 1160ms | 0.7ms | 11.0MB | 1147ms | 0ms | wasmtime 0.36.0 |
wasm | 7.rs | 1197ms | 3.5ms | 47.5MB | 1227ms | 3ms | node 16.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 2.rs | 270ms | 0.9ms | 9.6MB | 257ms | 0ms | wasmedgec 0.9.1 |
wasm | 7.rs | 274ms | 9.0ms | 5.8MB | 257ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 7.rs | 279ms | 1.1ms | 9.6MB | 267ms | 0ms | wasmedgec 0.9.1 |
odin | 1.odin | 285ms | 0.2ms | 1.9MB | 273ms | 0ms | odin 2022 |
wasm | 2.rs | 286ms | 13ms | 5.8MB | 270ms | 0ms | wasmer/llvm 2.2.1 |
wasm | 2.rs | 293ms | 2.3ms | 11.0MB | 280ms | 0ms | wasmtime 0.36.0 |
wasm | 7.rs | 297ms | 1.1ms | 9.4MB | 287ms | 0ms | wasmtime 0.36.0 |
wasm | 2.rs | 363ms | 4.7ms | 47.4MB | 380ms | 10ms | node 16.15.0 |
wasm | 7.rs | 374ms | 2.0ms | 47.5MB | 397ms | 7ms | node 16.15.0 |