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

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

Kotlin VS Javascript 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
kotlin 1.kt 794ms 80ms 581.9MB 1017ms 130ms kotlin/jvm 21.0.12
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

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
kotlin 1.kt 188ms 30ms 159.7MB 233ms 30ms kotlin/jvm 21.0.12
javascript 1.js 192ms 4.0ms 81.8MB 210ms 23ms node 24.21.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
kotlin 2-m.kt 3342ms 283ms 229.6MB 12590ms 123ms kotlin/jvm 21.0.12
kotlin 1.kt 3615ms 290ms 219.6MB 4723ms 107ms kotlin/jvm 21.0.12

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
kotlin 1-m.kt 738ms 7.2ms 77.4MB 1727ms 47ms kotlin/jvm 21.0.12
kotlin 2-m.kt 1625ms 206ms 97.5MB 5807ms 100ms kotlin/jvm 21.0.12

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
javascript 1.js 53ms 4.8ms 50.0MB 36ms 6ms node 24.21.0
kotlin 1-m.kt 87ms 4.3ms 46.2MB 136ms 12ms kotlin/jvm 21.0.12

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
kotlin 2-m.kt 9841ms 283ms 341.7MB 32387ms 3343ms kotlin/jvm 21.0.12
kotlin 1-m.kt 11376ms 242ms 433.1MB 37790ms 4520ms kotlin/jvm 21.0.12

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
kotlin 2-m.kt 3791ms 276ms 249.0MB 11797ms 810ms kotlin/jvm 21.0.12
kotlin 1-m.kt 3917ms 180ms 275.4MB 12153ms 857ms kotlin/jvm 21.0.12

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
kotlin 1-m.kt 1371ms 105ms 176.1MB 3830ms 140ms kotlin/jvm 21.0.12

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
kotlin 1-m.kt 3079ms 117ms 749.4MB 7240ms 250ms kotlin/jvm 21.0.12

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1-m.kt 284ms 4.7ms 95.4MB 503ms 33ms kotlin/jvm 21.0.12
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
kotlin 2-m.kt 389ms 13ms 99.5MB 863ms 27ms kotlin/jvm 21.0.12
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
kotlin 1-m.kt 482ms 4.8ms 201.4MB 717ms 47ms kotlin/jvm 21.0.12
kotlin 2-m.kt 543ms 5.7ms 209.8MB 993ms 67ms kotlin/jvm 21.0.12
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
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
kotlin 1-m.kt 255ms 1.9ms 91.1MB 500ms 37ms kotlin/jvm 21.0.12
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
kotlin 2-m.kt 302ms 15ms 95.4MB 693ms 23ms kotlin/jvm 21.0.12

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1.kt 641ms 8.2ms 676.7MB 820ms 93ms kotlin/jvm 21.0.12
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

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
kotlin 1-m.kt 250ms 11ms 205.0MB 363ms 67ms kotlin/jvm 21.0.12
javascript 1.js 262ms 3.9ms 107.0MB 280ms 33ms node 24.21.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1.kt 884ms 6.3ms 49.9MB 980ms 17ms kotlin/jvm 21.0.12
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
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
kotlin 1-m.kt 208ms 14ms 49.7MB 297ms 17ms kotlin/jvm 21.0.12

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1.kt 5427ms 177ms 419.0MB 6873ms 170ms kotlin/jvm 21.0.12
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
kotlin 1-m.kt 1629ms 66ms 362.2MB 3007ms 117ms kotlin/jvm 21.0.12
javascript 3.js 1755ms 72ms 73.9MB 1733ms 23ms node 24.21.0

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1.kt 8673ms 241ms 178.9MB 9617ms 70ms kotlin/jvm 21.0.12

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1-m.kt 1293ms 57ms 133.7MB 2110ms 47ms kotlin/jvm 21.0.12

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
kotlin 1.kt 5266ms 83ms 228.7MB 6800ms 87ms kotlin/jvm 21.0.12

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
kotlin 1-m.kt 1750ms 44ms 260.1MB 2960ms 50ms kotlin/jvm 21.0.12