Results for 38 of 40 languages from this run on actest1.

Unavailable in this run: Hack, Lisp. Follow the run link for failure details.

Javascript VS Wasm benchmarks

Current benchmark data was generated on Sun Sep 27 2026, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] Intel(R) Core(TM) i7-3687U CPU @ 2.10GHz (Model 58)

* -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.)

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1-m.js 1265ms 52ms 166.7MB 1970ms 113ms bun 1.4.2
javascript 1.js 1464ms 5.7ms 446.7MB 1510ms 173ms node 24.21.0
wasm 5.rs 2706ms 23ms 31.8MB 2683ms 7ms wasmtime 48.0.2
wasm 4.rs 2716ms 16ms 31.9MB 2693ms 10ms wasmtime 48.0.2
wasm 3.rs 2830ms 30ms 47.9MB 2800ms 13ms wasmtime 48.0.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 127ms 3.1ms 40.8MB 153ms 17ms bun 1.4.2
javascript 1.js 192ms 4.0ms 81.8MB 210ms 23ms node 24.21.0
wasm 4.rs 256ms 0.8ms 20.1MB 240ms 0ms wasmtime 48.0.2
wasm 5.rs 258ms 2.6ms 18.1MB 240ms 0ms wasmtime 48.0.2
wasm 3.rs 288ms 29ms 20.0MB 270ms 3ms wasmtime 48.0.2

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 3.rs 1617ms 13ms 20.5MB 1603ms 0ms wasmtime 48.0.2
javascript 1.js 2468ms 28ms 43.1MB 2477ms 43ms bun 1.4.2
javascript 1.js 2691ms 14ms 190.8MB 2690ms 103ms node 24.21.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 154ms 0.2ms 34.1MB 153ms 0ms bun 1.4.2
javascript 1.js 263ms 13ms 74.4MB 257ms 27ms node 24.21.0
wasm 3.rs 423ms 73ms 19.6MB 103ms 3ms wasmtime 48.0.2

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 194ms 4.1ms 46.0MB 183ms 13ms bun 1.4.2
javascript 1.js 436ms 3.9ms 65.7MB 463ms 23ms node 24.21.0
wasm 1.rs 547ms 6.8ms 17.7MB 533ms 0ms wasmtime 48.0.2

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 78ms 4.2ms 37.9MB 77ms 0ms bun 1.4.2
wasm 1.rs 147ms 1.6ms 17.1MB 127ms 7ms wasmtime 48.0.2
javascript 1.js 200ms 3.9ms 63.4MB 197ms 13ms node 24.21.0

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 6.7ms 1.0ms 12.5MB 0ms 0ms bun 1.4.2
wasm 1.rs 7.3ms 0.6ms 18.9MB 0ms 0ms wasmtime 48.0.2
javascript 1.js 53ms 4.8ms 50.0MB 36ms 6ms node 24.21.0

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1-m.bun.js 143ms 5.9ms 42.1MB 117ms 150ms bun 1.4.2
javascript 1.js 8321ms 382ms 436.9MB 8977ms 2950ms node 24.21.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1-m.bun.js 55ms 4.6ms 32.7MB 27ms 60ms bun 1.4.2
javascript 1.js 598ms 0.6ms 88.9MB 587ms 117ms node 24.21.0

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 88ms 26ms 41.9MB 67ms 10ms bun 1.4.2
javascript 1.js 148ms 0.2ms 79.7MB 143ms 17ms node 24.21.0

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 467ms 4.8ms 134.4MB 510ms 43ms bun 1.4.2
javascript 1.js 803ms 52ms 256.3MB 867ms 133ms node 24.21.0

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 132ms 4.4ms 14.8MB 120ms 0ms wasmtime 48.0.2
javascript 2.js 327ms 4.8ms 57.4MB 387ms 17ms bun 1.4.2
javascript 2.js 348ms 6.4ms 65.3MB 340ms 20ms node 24.21.0
javascript 1.js 754ms 5.0ms 55.3MB 867ms 30ms bun 1.4.2
javascript 1.js 777ms 6.5ms 64.2MB 760ms 13ms node 24.21.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 382ms 18ms 14.6MB 367ms 0ms wasmtime 48.0.2
javascript 2.js 878ms 6.3ms 58.4MB 960ms 43ms bun 1.4.2
javascript 2.js 919ms 8.8ms 72.1MB 903ms 23ms node 24.21.0
javascript 1.js 2142ms 24ms 70.7MB 2123ms 13ms node 24.21.0
javascript 1.js 2214ms 18ms 54.9MB 2463ms 140ms bun 1.4.2

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 76ms 11ms 14.3MB 67ms 0ms wasmtime 48.0.2
javascript 2.js 182ms 2.9ms 59.4MB 247ms 3ms bun 1.4.2
javascript 2.js 193ms 6.2ms 59.4MB 190ms 13ms node 24.21.0
javascript 1.js 261ms 3.9ms 59.9MB 257ms 3ms node 24.21.0
javascript 1.js 273ms 3.6ms 57.0MB 323ms 47ms bun 1.4.2

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1-m.js 760ms 4.7ms 132.5MB 1093ms 90ms bun 1.4.2
javascript 1.js 931ms 17ms 230.9MB 973ms 120ms node 24.21.0
wasm 1.rs 1381ms 5.3ms 39.9MB 1357ms 7ms wasmtime 48.0.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 180ms 2.7ms 57.9MB 243ms 20ms bun 1.4.2
javascript 1.js 262ms 3.9ms 107.0MB 280ms 33ms node 24.21.0
wasm 1.rs 292ms 3.2ms 21.8MB 270ms 7ms wasmtime 48.0.2

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 621ms 3.5ms 16.6MB 603ms 0ms wasmtime 48.0.2
wasm 2.rs 622ms 5.9ms 16.5MB 610ms 0ms wasmtime 48.0.2
javascript 6.js 924ms 3.8ms 59.5MB 910ms 10ms node 24.21.0
javascript 6.js 998ms 6.5ms 26.8MB 1007ms 0ms bun 1.4.2

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 1.rs 72ms 1.4ms 16.4MB 60ms 0ms wasmtime 48.0.2
wasm 2.rs 74ms 5.5ms 16.7MB 63ms 0ms wasmtime 48.0.2
javascript 6.js 125ms 8.5ms 26.6MB 140ms 0ms bun 1.4.2
javascript 6.js 149ms 6.1ms 59.5MB 140ms 10ms node 24.21.0

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 1345ms 3.6ms 40.9MB 1410ms 37ms bun 1.4.2
javascript 1.js 4276ms 22ms 62.7MB 4300ms 7ms node 24.21.0
wasm 1.rs 4539ms 54ms 16.7MB 4530ms 0ms wasmtime 48.0.2

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 370ms 4.2ms 41.2MB 410ms 17ms bun 1.4.2
javascript 1.js 1132ms 3.7ms 58.8MB 1147ms 10ms node 24.21.0
wasm 1.rs 1152ms 18ms 14.8MB 1140ms 0ms wasmtime 48.0.2

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 2611ms 32ms 17.4MB 2593ms 3ms wasmtime 48.0.2
javascript 3.js 7848ms 31ms 122.0MB 7800ms 47ms node 24.21.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 2.rs 616ms 1.8ms 18.2MB 603ms 0ms wasmtime 48.0.2
javascript 3.js 1755ms 72ms 73.9MB 1733ms 23ms node 24.21.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 7.rs 5534ms 4.6ms 16.3MB 5520ms 0ms wasmtime 48.0.2
javascript 6-m.js 6665ms 47ms 123.2MB 25650ms 83ms node 24.21.0
wasm 2.rs 11040ms 32ms 16.8MB 11030ms 3ms wasmtime 48.0.2

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 7.rs 1395ms 1.6ms 16.7MB 1383ms 0ms wasmtime 48.0.2
javascript 6-m.js 1827ms 2.8ms 123.8MB 6790ms 70ms node 24.21.0
wasm 2.rs 2771ms 8.4ms 16.7MB 2760ms 0ms wasmtime 48.0.2

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
wasm 7.rs 358ms 2.2ms 18.7MB 343ms 0ms wasmtime 48.0.2
javascript 6-m.js 639ms 8.0ms 119.1MB 2130ms 73ms node 24.21.0
wasm 2.rs 702ms 1.7ms 14.8MB 690ms 0ms wasmtime 48.0.2