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 acton 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
acton 1-m.act 2140ms 43ms 38.5MB 3237ms 57ms acton 0.30.0

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
acton 1.act 217ms 5.2ms 9.6MB 273ms 10ms acton 0.30.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
acton 1-m.act 13727ms 447ms 7.8MB 18197ms 12690ms acton 0.30.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
acton 1-m.act 879ms 7.0ms 6.2MB 1110ms 823ms acton 0.30.0

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
acton 1.act 275ms 10ms 7.5MB 260ms 17ms acton 0.30.0
javascript 1.js 436ms 3.9ms 65.7MB 463ms 23ms node 24.21.0

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
acton 1.act 94ms 15ms 5.5MB 83ms 7ms acton 0.30.0
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
acton 1.act 4.5ms 1.1ms 3.8MB 0ms 0ms acton 0.30.0
javascript 1.js 6.7ms 1.0ms 12.5MB 0ms 0ms bun 1.4.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
acton 1-m.act 496ms 19ms 6.8MB 940ms 253ms acton 0.30.0
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
acton 1-m.act 117ms 12ms 6.6MB 170ms 33ms acton 0.30.0
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
acton 1.act 141ms 3.0ms 49.9MB 187ms 10ms acton 0.30.0
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
acton 1-m.act 907ms 66ms 339.4MB 1680ms 57ms acton 0.30.0

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
acton 1.act 1615ms 85ms 13.3MB 2107ms 187ms acton 0.30.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
acton 1.act 4706ms 236ms 6.1MB 6103ms 523ms acton 0.30.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
acton 1.act 828ms 11ms 11.9MB 893ms 213ms acton 0.30.0

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
acton 1.act 4999ms 46ms 83.6MB 6123ms 57ms acton 0.30.0

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
acton 1.act 1097ms 13ms 31.2MB 1333ms 33ms acton 0.30.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
acton 1.act 4728ms 31ms 6.0MB 5217ms 733ms acton 0.30.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
acton 1.act 478ms 5.0ms 12.1MB 517ms 73ms acton 0.30.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
acton 1.act 5761ms 42ms 4.0MB 6240ms 873ms acton 0.30.0

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
acton 1.act 1453ms 25ms 4.0MB 1557ms 220ms acton 0.30.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1-m.act 5009ms 46ms 14.3MB 6123ms 1420ms acton 0.30.0
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
acton 1.act 1277ms 11ms 7.7MB 1540ms 373ms acton 0.30.0
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
javascript 6-m.js 6665ms 47ms 123.2MB 25650ms 83ms node 24.21.0
acton 1-m.act 105769ms 1188ms 5.7MB 163880ms 10223ms acton 0.30.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6-m.js 1827ms 2.8ms 123.8MB 6790ms 70ms node 24.21.0
acton 1-m.act 26160ms 70ms 8.7MB 38903ms 3493ms acton 0.30.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6-m.js 639ms 8.0ms 119.1MB 2130ms 73ms node 24.21.0
acton 1.act 6035ms 45ms 4.4MB 7950ms 1010ms acton 0.30.0