Current benchmark data was generated on Mon Dec 30 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 |
---|---|---|---|---|---|---|---|
javascript | 1-m.js | 948ms | 19ms | 199.4MB | 1457ms | 273ms | bun 1.1.42 |
javascript | 1-m.js | 1223ms | 9.8ms | 294.3MB | 2110ms | 150ms | node 23.5.0 |
typescript | 1-m.ts | 1258ms | 2.9ms | 252.6MB | 2200ms | 157ms | deno 2.1.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 96ms | 2.2ms | 78.6MB | 67ms | 33ms | bun 1.1.42 |
javascript | 1.js | 124ms | 2.0ms | 82.5MB | 120ms | 33ms | node 23.5.0 |
typescript | 1.ts | 127ms | 1.7ms | 83.1MB | 130ms | 27ms | deno 2.1.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
typescript | 1.ts | 1329ms | 2.8ms | 89.1MB | 1380ms | 33ms | deno 2.1.4 |
javascript | 1.js | 1578ms | 6.8ms | 94.6MB | 1660ms | 50ms | node 23.5.0 |
javascript | 1.js | 2195ms | 13ms | 99.3MB | 2210ms | 63ms | bun 1.1.42 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
typescript | 1.ts | 148ms | 2.7ms | 73.9MB | 117ms | 30ms | deno 2.1.4 |
javascript | 1.js | 154ms | 1.5ms | 76.7MB | 143ms | 17ms | node 23.5.0 |
javascript | 1.js | 181ms | 3.1ms | 85.1MB | 203ms | 27ms | bun 1.1.42 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 270ms | 2.7ms | 69.0MB | 283ms | 23ms | node 23.5.0 |
javascript | 1.js | 718ms | 5.1ms | 76.4MB | 690ms | 23ms | bun 1.1.42 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 125ms | 2.5ms | 65.6MB | 140ms | 13ms | node 23.5.0 |
javascript | 1.js | 524ms | 4.8ms | 66.2MB | 503ms | 13ms | bun 1.1.42 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 12ms | 0.6ms | 31.5MB | 10ms | 0ms | bun 1.1.42 |
typescript | 1.ts | 28ms | 0.7ms | 50.8MB | 10ms | 8ms | deno 2.1.4 |
javascript | 1.js | 31ms | 0.3ms | 51.9MB | 14ms | 6ms | node 23.5.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1-m.bun.js | 343ms | 27ms | 70.2MB | 127ms | 393ms | bun 1.1.42 |
typescript | 1-m.ts | 683ms | 15ms | 222.8MB | 570ms | 460ms | deno 2.1.4 |
typescript | 2.ts | 693ms | 18ms | 223.9MB | 613ms | 420ms | deno 2.1.4 |
typescript | 1-http2.ts | 845ms | 19ms | 218.4MB | 767ms | 420ms | deno 2.1.4 |
typescript | 2-tls.ts | 1416ms | 16ms | 239.9MB | 1263ms | 487ms | deno 2.1.4 |
javascript | 1.js | 3271ms | 270ms | 197.4MB | 3033ms | 1503ms | node 23.5.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.bun.js | 135ms | 29ms | 54.0MB | 27ms | 100ms | bun 1.1.42 |
typescript | 2.ts | 183ms | 6.4ms | 98.3MB | 133ms | 97ms | deno 2.1.4 |
typescript | 1.ts | 184ms | 6.2ms | 98.4MB | 160ms | 70ms | deno 2.1.4 |
typescript | 1-http2.ts | 228ms | 7.1ms | 99.6MB | 180ms | 93ms | deno 2.1.4 |
javascript | 1.js | 390ms | 12ms | 85.4MB | 337ms | 130ms | node 23.5.0 |
typescript | 2-tls.ts | 415ms | 10ms | 103.7MB | 313ms | 140ms | deno 2.1.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 85ms | 8.1ms | 65.6MB | 53ms | 20ms | bun 1.1.42 |
javascript | 1.js | 109ms | 1.6ms | 79.3MB | 93ms | 23ms | node 23.5.0 |
typescript | 1.ts | 166ms | 0.3ms | 95.2MB | 163ms | 27ms | deno 2.1.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 385ms | 1.5ms | 206.9MB | 353ms | 73ms | bun 1.1.42 |
javascript | 1.js | 687ms | 1.9ms | 205.2MB | 787ms | 83ms | node 23.5.0 |
typescript | 1.ts | 1228ms | 2.9ms | 430.2MB | 1360ms | 127ms | deno 2.1.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
typescript | 2.ts | 266ms | 6.8ms | 67.2MB | 257ms | 13ms | deno 2.1.4 |
javascript | 2.js | 306ms | 0.5ms | 66.9MB | 300ms | 10ms | node 23.5.0 |
javascript | 1.js | 550ms | 5.0ms | 64.9MB | 537ms | 7ms | node 23.5.0 |
typescript | 1.ts | 567ms | 5.6ms | 63.3MB | 550ms | 13ms | deno 2.1.4 |
javascript | 2.js | 637ms | 6.3ms | 122.1MB | 687ms | 57ms | bun 1.1.42 |
javascript | 1.js | 815ms | 6.2ms | 105.9MB | 870ms | 90ms | bun 1.1.42 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
typescript | 2.ts | 720ms | 7.6ms | 73.8MB | 707ms | 17ms | deno 2.1.4 |
javascript | 2.js | 843ms | 2.0ms | 72.7MB | 827ms | 20ms | node 23.5.0 |
javascript | 1.js | 1578ms | 7.3ms | 71.9MB | 1553ms | 20ms | node 23.5.0 |
typescript | 1.ts | 1625ms | 0.7ms | 72.1MB | 1607ms | 13ms | deno 2.1.4 |
javascript | 2.js | 1793ms | 11ms | 122.3MB | 1913ms | 83ms | bun 1.1.42 |
javascript | 1.js | 2334ms | 4.4ms | 105.9MB | 2607ms | 137ms | bun 1.1.42 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
typescript | 2.ts | 145ms | 0.4ms | 64.3MB | 133ms | 13ms | deno 2.1.4 |
javascript | 1.js | 160ms | 1.3ms | 61.9MB | 153ms | 3ms | node 23.5.0 |
javascript | 2.js | 163ms | 0.4ms | 60.9MB | 163ms | 3ms | node 23.5.0 |
typescript | 1.ts | 167ms | 1.1ms | 61.2MB | 150ms | 10ms | deno 2.1.4 |
javascript | 1.js | 311ms | 3.7ms | 113.6MB | 340ms | 70ms | bun 1.1.42 |
javascript | 2.js | 357ms | 12ms | 125.4MB | 377ms | 57ms | bun 1.1.42 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1-m.js | 499ms | 5.6ms | 135.9MB | 660ms | 127ms | bun 1.1.42 |
javascript | 1.js | 520ms | 3.2ms | 134.5MB | 603ms | 57ms | node 23.5.0 |
typescript | 1.ts | 523ms | 1.3ms | 133.4MB | 603ms | 60ms | deno 2.1.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 1.js | 119ms | 0.9ms | 86.1MB | 100ms | 37ms | bun 1.1.42 |
javascript | 1.js | 156ms | 3.1ms | 102.3MB | 153ms | 33ms | node 23.5.0 |
typescript | 1.ts | 156ms | 3.0ms | 102.8MB | 143ms | 47ms | deno 2.1.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 6.js | 455ms | 3.5ms | 59.6MB | 440ms | 7ms | node 23.5.0 |
typescript | 6.ts | 465ms | 1.7ms | 58.1MB | 453ms | 3ms | deno 2.1.4 |
javascript | 6.js | 659ms | 1.5ms | 44.6MB | 657ms | 7ms | bun 1.1.42 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 6.js | 76ms | 0.7ms | 59.8MB | 63ms | 7ms | node 23.5.0 |
typescript | 6.ts | 78ms | 1.9ms | 58.8MB | 60ms | 13ms | deno 2.1.4 |
javascript | 6.js | 87ms | 0.3ms | 44.6MB | 77ms | 7ms | bun 1.1.42 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
typescript | 1.ts | 1906ms | 6.7ms | 62.8MB | 1907ms | 13ms | deno 2.1.4 |
javascript | 1.js | 2480ms | 11ms | 64.4MB | 2493ms | 10ms | node 23.5.0 |
javascript | 1.js | 2760ms | 36ms | 83.0MB | 2793ms | 37ms | bun 1.1.42 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
typescript | 1.ts | 516ms | 6.2ms | 59.5MB | 517ms | 17ms | deno 2.1.4 |
javascript | 1.js | 657ms | 7.0ms | 61.8MB | 663ms | 13ms | node 23.5.0 |
javascript | 1.js | 718ms | 2.9ms | 82.6MB | 703ms | 37ms | bun 1.1.42 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 3.js | timeout | 0.0ms | 92.1MB | 4983ms | 23ms | node 23.5.0 |
typescript | 3.ts | timeout | 0.0ms | 101.8MB | 4967ms | 43ms | deno 2.1.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 3.js | 1085ms | 5.9ms | 74.8MB | 1063ms | 17ms | node 23.5.0 |
typescript | 3.ts | 1302ms | 8.8ms | 79.8MB | 1250ms | 77ms | deno 2.1.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 6-m.js | 2147ms | 4.1ms | 116.2MB | 8220ms | 60ms | node 23.5.0 |
typescript | 7.ts | 4021ms | 24ms | 60.7MB | 4007ms | 10ms | deno 2.1.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 6-m.js | 639ms | 4.2ms | 115.4MB | 2287ms | 50ms | node 23.5.0 |
typescript | 7.ts | 1041ms | 6.3ms | 58.1MB | 1027ms | 3ms | deno 2.1.4 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
javascript | 6-m.js | 261ms | 2.9ms | 113.2MB | 807ms | 37ms | node 23.5.0 |
typescript | 7.ts | 284ms | 0.7ms | 58.4MB | 263ms | 10ms | deno 2.1.4 |