All Javascript benchmarks

Current benchmark data was generated on Thu Feb 01 2024, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] AMD EPYC 7763 64-Core Processor (Model 1)

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

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1-m.js 939ms 14ms 247.7MB 1473ms 283ms bun 1.0.25
1-m.js 1395ms 30ms 261.0MB 2187ms 363ms node 21.6.1

Input: 15

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 85ms 3.6ms 114.9MB 70ms 17ms bun 1.0.25
1.js 140ms 0.6ms 87.4MB 130ms 37ms node 21.6.1

coro-prime-sieve

Input: 4000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 1658ms 4.8ms 83.7MB 1777ms 50ms node 21.6.1
1.js 2362ms 19ms 128.2MB 2397ms 37ms bun 1.0.25

Input: 1000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 163ms 1.9ms 64.0MB 143ms 17ms node 21.6.1
1.js 175ms 0.4ms 120.8MB 193ms 17ms bun 1.0.25

edigits

Input: 250001

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 292ms 3.6ms 58.3MB 310ms 27ms node 21.6.1
1.js 445ms 1.2ms 107.5MB 427ms 13ms bun 1.0.25

Input: 100000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 141ms 2.5ms 54.1MB 167ms 13ms node 21.6.1
1.js 357ms 27ms 97.4MB 340ms 13ms bun 1.0.25

helloworld

Input: QwQ

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 14ms 0.3ms 65.6MB 0ms 10ms bun 1.0.25
1.js 34ms 0.8ms 44.0MB 16ms 6ms node 21.6.1

http-server

Input: 3000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.bun.js 181ms 7.8ms 109.5MB 93ms 93ms bun 1.0.25
1-m.js 3227ms 733ms 217.5MB 3567ms 1320ms node 21.6.1

Input: 500

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.bun.js 127ms 11ms 81.1MB 30ms 53ms bun 1.0.25
1.js 418ms 5.4ms 71.0MB 390ms 117ms node 21.6.1

json-serde

Input: sample 5000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 83ms 2.6ms 108.5MB 67ms 7ms bun 1.0.25
1.js 119ms 1.2ms 65.0MB 90ms 30ms node 21.6.1

Input: canada 15

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 414ms 3.1ms 271.4MB 430ms 23ms bun 1.0.25
1.js 737ms 2.7ms 202.3MB 783ms 97ms node 21.6.1

lru

Input: 1000 1000000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
2.js 315ms 1.3ms 56.2MB 310ms 13ms node 21.6.1
1.js 405ms 1.0ms 157.6MB 417ms 17ms bun 1.0.25
2.js 524ms 3.6ms 127.5MB 560ms 13ms bun 1.0.25
1.js 524ms 4.3ms 54.6MB 507ms 13ms node 21.6.1

Input: 1000 3000000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
2.js 865ms 1.6ms 64.0MB 853ms 17ms node 21.6.1
1.js 1155ms 11ms 183.2MB 1197ms 37ms bun 1.0.25
1.js 1478ms 1.9ms 61.5MB 1457ms 20ms node 21.6.1
2.js 1497ms 2.9ms 124.5MB 1530ms 20ms bun 1.0.25

Input: 100 500000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 165ms 2.5ms 51.9MB 153ms 10ms node 21.6.1
2.js 169ms 0.2ms 50.3MB 167ms 3ms node 21.6.1
1.js 205ms 3.0ms 134.6MB 207ms 23ms bun 1.0.25
2.js 285ms 1.8ms 122.3MB 320ms 7ms bun 1.0.25

merkletrees

Input: 17

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1-m.js 477ms 4.1ms 169.9MB 633ms 100ms bun 1.0.25
1.js 522ms 2.3ms 123.9MB 600ms 90ms node 21.6.1

Input: 15

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 105ms 1.0ms 116.9MB 100ms 13ms bun 1.0.25
1.js 163ms 2.8ms 90.9MB 167ms 33ms node 21.6.1

nbody

Input: 5000000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
6.js 499ms 10ms 49.9MB 483ms 7ms node 21.6.1
6.js 704ms 2.9ms 81.5MB 703ms 3ms bun 1.0.25

Input: 500000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
6.js 85ms 0.6ms 49.9MB 67ms 13ms node 21.6.1
6.js 92ms 2.7ms 81.4MB 87ms 3ms bun 1.0.25

secp256k1

Input: 2000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 2219ms 17ms 112.5MB 2240ms 30ms bun 1.0.25
1.js 2467ms 16ms 52.9MB 2470ms 10ms node 21.6.1

Input: 500

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
1.js 578ms 2.0ms 106.3MB 590ms 13ms bun 1.0.25
1.js 655ms 6.6ms 50.7MB 660ms 7ms node 21.6.1

pidigits

Input: 8000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
3.js timeout 0.0ms 81.6MB 4987ms 23ms node 21.6.1

Input: 4000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
3.js 1127ms 3.3ms 65.6MB 1113ms 23ms node 21.6.1

spectral-norm

Input: 8000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
6-m.js 2120ms 26ms 92.2MB 7783ms 97ms node 21.6.1

Input: 4000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
6-m.js 636ms 17ms 91.5MB 2100ms 110ms node 21.6.1

Input: 2000

code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
6-m.js 260ms 4.6ms 91.2MB 737ms 90ms node 21.6.1