Current benchmark data was generated on Tue Dec 31 2024, 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 |
---|---|---|---|---|---|---|---|
csharp | 1.cs | 886ms | 4.1ms | 166.1MB | 870ms | 127ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 889ms | 12ms | 194.2MB | 897ms | 133ms | dotnet 9.0.101 |
wasm | 5.rs | 1607ms | 21ms | 37.2MB | 1587ms | 7ms | wasmtime 28.0.0 |
csharp | 1.cs | 1646ms | 54ms | 103.5MB | 1847ms | 210ms | mono 6.12.0 |
wasm | 4.rs | 1657ms | 9.1ms | 34.9MB | 1637ms | 7ms | wasmtime 28.0.0 |
wasm | 3.rs | 1679ms | 45ms | 50.9MB | 1657ms | 10ms | wasmtime 28.0.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 1.cs | 117ms | 12ms | 45.7MB | 77ms | 30ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 136ms | 3.4ms | 44.2MB | 107ms | 17ms | mono 6.12.0 |
wasm | 5.rs | 157ms | 4.7ms | 25.2MB | 147ms | 0ms | wasmtime 28.0.0 |
wasm | 3.rs | 166ms | 8.6ms | 23.2MB | 150ms | 3ms | wasmtime 28.0.0 |
csharp | 1.cs | 202ms | 3.7ms | 66.8MB | 143ms | 40ms | dotnet 9.0.101 |
wasm | 4.rs | 206ms | 53ms | 23.0MB | 190ms | 0ms | wasmtime 28.0.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 5-m.cs | 125ms | 14ms | 32.7MB | 347ms | 80ms | dotnet/aot 9.0.101 |
csharp | 5-m.cs | 183ms | 1.2ms | 48.7MB | 453ms | 110ms | dotnet 9.0.101 |
wasm | 1.rs | 223ms | 4.1ms | 19.0MB | 203ms | 3ms | wasmtime 28.0.0 |
csharp | 5-m.cs | 239ms | 14ms | 59.0MB | 640ms | 97ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 5-m.cs | 25ms | 1.8ms | 25.1MB | 33ms | 17ms | dotnet/aot 9.0.101 |
wasm | 1.rs | 29ms | 0.1ms | 19.3MB | 20ms | 0ms | wasmtime 28.0.0 |
csharp | 5-m.cs | 59ms | 1.5ms | 44.6MB | 63ms | 30ms | dotnet 9.0.101 |
csharp | 5-m.cs | 71ms | 2.1ms | 39.6MB | 93ms | 33ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 6.5ms | 0.4ms | 19.4MB | 0ms | 0ms | wasmtime 28.0.0 |
csharp | 1.cs | 18ms | 11ms | 15.5MB | 0ms | 0ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 30ms | 0.2ms | 23.4MB | 18ms | 2ms | mono 6.12.0 |
csharp | 1.cs | 34ms | 1.5ms | 32.5MB | 18ms | 6ms | dotnet 9.0.101 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 81ms | 1.3ms | 19.2MB | 70ms | 0ms | wasmtime 28.0.0 |
csharp | 2.cs | 89ms | 3.0ms | 15.9MB | 80ms | 0ms | dotnet/aot 9.0.101 |
csharp | 2.cs | 140ms | 0.7ms | 26.8MB | 127ms | 0ms | mono 6.12.0 |
csharp | 2.cs | 243ms | 1.1ms | 33.6MB | 230ms | 10ms | dotnet 9.0.101 |
csharp | 1.cs | 1019ms | 10ms | 16.9MB | 997ms | 7ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 1233ms | 42ms | 38.8MB | 1220ms | 10ms | dotnet 9.0.101 |
csharp | 1.cs | 3162ms | 77ms | 51.6MB | 3123ms | 30ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 224ms | 8.0ms | 19.1MB | 207ms | 0ms | wasmtime 28.0.0 |
csharp | 2.cs | 255ms | 3.9ms | 13.6MB | 240ms | 0ms | dotnet/aot 9.0.101 |
csharp | 2.cs | 338ms | 3.1ms | 22.7MB | 327ms | 0ms | mono 6.12.0 |
csharp | 2.cs | 390ms | 13ms | 33.4MB | 363ms | 13ms | dotnet 9.0.101 |
csharp | 1.cs | 3020ms | 20ms | 17.1MB | 2993ms | 10ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 3573ms | 79ms | 39.3MB | 3550ms | 27ms | dotnet 9.0.101 |
csharp | 1.cs | timeout | 0.0ms | 49.7MB | 4940ms | 50ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 1.rs | 44ms | 1.6ms | 19.1MB | 33ms | 0ms | wasmtime 28.0.0 |
csharp | 2.cs | 49ms | 0.9ms | 15.8MB | 30ms | 0ms | dotnet/aot 9.0.101 |
csharp | 2.cs | 88ms | 2.2ms | 24.7MB | 70ms | 0ms | mono 6.12.0 |
csharp | 2.cs | 159ms | 4.8ms | 33.6MB | 133ms | 7ms | dotnet 9.0.101 |
csharp | 1.cs | 1533ms | 8.5ms | 38.8MB | 1517ms | 13ms | dotnet 9.0.101 |
csharp | 1.cs | 1716ms | 16ms | 28.6MB | 1703ms | 0ms | mono 6.12.0 |
csharp | 1.cs | 1729ms | 2.9ms | 16.9MB | 1707ms | 3ms | dotnet/aot 9.0.101 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 8.rs | 773ms | 10ms | 22.1MB | 760ms | 0ms | wasmtime 28.0.0 |
csharp | 2.cs | 1032ms | 65ms | 46.1MB | 1010ms | 10ms | dotnet 9.0.101 |
csharp | 1.cs | 1949ms | 25ms | 42.7MB | 1913ms | 13ms | dotnet 9.0.101 |
csharp | 3.cs | 2330ms | 12ms | 42.8MB | 2303ms | 3ms | dotnet 9.0.101 |
csharp | 3.cs | 2397ms | 13ms | 22.3MB | 2383ms | 0ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 3363ms | 16ms | 22.1MB | 3350ms | 0ms | dotnet/aot 9.0.101 |
csharp | 1.cs | timeout | 0.0ms | 26.4MB | 4987ms | 3ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
wasm | 8.rs | 40ms | 0.6ms | 21.2MB | 30ms | 0ms | wasmtime 28.0.0 |
csharp | 3.cs | 112ms | 2.9ms | 19.4MB | 100ms | 0ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 130ms | 1.9ms | 39.8MB | 110ms | 7ms | dotnet 9.0.101 |
csharp | 2.cs | 141ms | 27ms | 41.3MB | 123ms | 0ms | dotnet 9.0.101 |
csharp | 1.cs | 150ms | 3.4ms | 17.0MB | 133ms | 0ms | dotnet/aot 9.0.101 |
csharp | 3.cs | 156ms | 4.5ms | 39.9MB | 140ms | 3ms | dotnet 9.0.101 |
csharp | 1.cs | 538ms | 3.9ms | 25.3MB | 520ms | 7ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 521ms | 13ms | 123.3MB | 463ms | 80ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 549ms | 12ms | 154.4MB | 487ms | 123ms | dotnet/aot 9.0.101 |
csharp | 2.cs | 657ms | 22ms | 142.9MB | 603ms | 97ms | dotnet 9.0.101 |
csharp | 1.cs | 663ms | 5.2ms | 169.5MB | 603ms | 123ms | dotnet 9.0.101 |
wasm | 1.rs | 815ms | 3.5ms | 42.9MB | 787ms | 10ms | wasmtime 28.0.0 |
csharp | 1.cs | 1246ms | 80ms | 142.6MB | 1450ms | 163ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 2.cs | 129ms | 11ms | 62.5MB | 93ms | 33ms | dotnet/aot 9.0.101 |
csharp | 1.cs | 147ms | 8.4ms | 80.9MB | 113ms | 43ms | dotnet/aot 9.0.101 |
wasm | 1.rs | 179ms | 1.6ms | 27.0MB | 160ms | 7ms | wasmtime 28.0.0 |
csharp | 1.cs | 247ms | 3.2ms | 71.3MB | 207ms | 43ms | mono 6.12.0 |
csharp | 1.cs | 261ms | 6.2ms | 98.0MB | 220ms | 53ms | dotnet 9.0.101 |
csharp | 2.cs | 268ms | 26ms | 80.7MB | 217ms | 40ms | dotnet 9.0.101 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 9.cs | 342ms | 4.6ms | 34.1MB | 320ms | 7ms | dotnet 9.0.101 |
csharp | 8.cs | 350ms | 0.8ms | 15.8MB | 340ms | 0ms | dotnet/aot 9.0.101 |
wasm | 1.rs | 376ms | 1.9ms | 18.8MB | 363ms | 0ms | wasmtime 28.0.0 |
csharp | 8.cs | 410ms | 17ms | 33.9MB | 390ms | 0ms | dotnet 9.0.101 |
wasm | 2.rs | 550ms | 2.4ms | 18.8MB | 537ms | 3ms | wasmtime 28.0.0 |
csharp | 8.cs | 1189ms | 27ms | 24.1MB | 1163ms | 7ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 8.cs | 44ms | 0.9ms | 15.7MB | 30ms | 0ms | dotnet/aot 9.0.101 |
wasm | 1.rs | 46ms | 1.3ms | 18.9MB | 30ms | 0ms | wasmtime 28.0.0 |
wasm | 2.rs | 62ms | 1.3ms | 20.8MB | 50ms | 0ms | wasmtime 28.0.0 |
csharp | 9.cs | 96ms | 16ms | 34.0MB | 70ms | 7ms | dotnet 9.0.101 |
csharp | 8.cs | 108ms | 14ms | 33.9MB | 77ms | 3ms | dotnet 9.0.101 |
csharp | 8.cs | 155ms | 4.8ms | 22.5MB | 143ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 1.cs | 288ms | 4.4ms | 55.1MB | 270ms | 3ms | dotnet/aot 9.0.101 |
wasm | 2.rs | 308ms | 3.3ms | 23.9MB | 300ms | 0ms | wasmtime 28.0.0 |
csharp | 1.cs | 312ms | 3.5ms | 74.6MB | 283ms | 17ms | dotnet 9.0.101 |
csharp | 2.cs | 376ms | 1.5ms | 39.9MB | 357ms | 7ms | dotnet 9.0.101 |
csharp | 2.cs | 401ms | 4.0ms | 19.8MB | 383ms | 0ms | dotnet/aot 9.0.101 |
wasm | 1.rs | 437ms | 1.5ms | 58.0MB | 417ms | 3ms | wasmtime 28.0.0 |
csharp | 1.cs | 509ms | 6.2ms | 84.0MB | 483ms | 10ms | mono 6.12.0 |
csharp | 2.cs | 1771ms | 12ms | 31.3MB | 1753ms | 7ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 1.cs | 63ms | 1.1ms | 25.9MB | 43ms | 3ms | dotnet/aot 9.0.101 |
wasm | 2.rs | 80ms | 0.2ms | 23.9MB | 70ms | 0ms | wasmtime 28.0.0 |
wasm | 1.rs | 90ms | 2.3ms | 28.7MB | 77ms | 3ms | wasmtime 28.0.0 |
csharp | 1.cs | 97ms | 0.8ms | 45.3MB | 70ms | 13ms | dotnet 9.0.101 |
csharp | 2.cs | 103ms | 1.4ms | 17.9MB | 87ms | 3ms | dotnet/aot 9.0.101 |
csharp | 2.cs | 120ms | 3.1ms | 35.9MB | 107ms | 3ms | dotnet 9.0.101 |
csharp | 1.cs | 139ms | 3.8ms | 39.9MB | 117ms | 7ms | mono 6.12.0 |
csharp | 2.cs | 462ms | 9.6ms | 27.1MB | 450ms | 0ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 1779ms | 35ms | 18.5MB | 6860ms | 3ms | dotnet/aot 9.0.101 |
csharp | 3-m.cs | 2081ms | 305ms | 38.1MB | 6603ms | 27ms | dotnet 9.0.101 |
wasm | 2.rs | 3400ms | 18ms | 18.6MB | 3387ms | 0ms | wasmtime 28.0.0 |
csharp | 3-m.cs | 4402ms | 103ms | 30.5MB | 17000ms | 13ms | mono 6.12.0 |
wasm | 7.rs | 4694ms | 77ms | 18.6MB | 4683ms | 0ms | wasmtime 28.0.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 450ms | 2.7ms | 18.4MB | 1703ms | 7ms | dotnet/aot 9.0.101 |
csharp | 3-m.cs | 536ms | 66ms | 37.8MB | 1747ms | 3ms | dotnet 9.0.101 |
wasm | 2.rs | 856ms | 6.8ms | 18.7MB | 843ms | 0ms | wasmtime 28.0.0 |
wasm | 7.rs | 1168ms | 17ms | 20.5MB | 1160ms | 0ms | wasmtime 28.0.0 |
csharp | 3-m.cs | 1220ms | 125ms | 28.6MB | 4300ms | 13ms | mono 6.12.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
csharp | 3-m.cs | 122ms | 0.6ms | 18.1MB | 423ms | 7ms | dotnet/aot 9.0.101 |
csharp | 3-m.cs | 167ms | 2.0ms | 36.5MB | 470ms | 7ms | dotnet 9.0.101 |
wasm | 2.rs | 221ms | 1.7ms | 20.5MB | 210ms | 0ms | wasmtime 28.0.0 |
wasm | 7.rs | 298ms | 4.7ms | 18.9MB | 290ms | 0ms | wasmtime 28.0.0 |
csharp | 3-m.cs | 342ms | 16ms | 28.5MB | 1147ms | 10ms | mono 6.12.0 |