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

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

Java VS Go 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
java 2.java 782ms 124ms 569.1MB 957ms 133ms openjdk 21.0.12
java 2.java 1276ms 44ms 1086.4MB 900ms 603ms openjdk/zgc 21.0.12
go 1-m.go 3946ms 44ms 39.9MB 8090ms 37ms go 1.26.8

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 192ms 18ms 167.6MB 260ms 27ms openjdk 21.0.12
go 1.go 350ms 12ms 10.1MB 517ms 7ms go 1.26.8
java 2.java 378ms 84ms 239.8MB 267ms 200ms openjdk/zgc 21.0.12

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1-m.go 1368ms 83ms 17.7MB 5267ms 7ms go 1.26.8
java 1-m.java 2953ms 188ms 213.9MB 11130ms 147ms openjdk 21.0.12
java 1-m.java 3742ms 52ms 618.0MB 13450ms 670ms openjdk/zgc 21.0.12

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1-m.go 84ms 17ms 7.7MB 283ms 0ms go 1.26.8
java 1-m.java 545ms 57ms 74.1MB 1767ms 40ms openjdk 21.0.12
java 1-m.java 671ms 12ms 150.9MB 1950ms 203ms openjdk/zgc 21.0.12

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 248ms 30ms 10.5MB 240ms 0ms go 1.26.8
java 1-m.java 1039ms 23ms 264.1MB 2923ms 100ms openjdk 21.0.12
java 1-m.java 1342ms 121ms 561.6MB 2910ms 410ms openjdk/zgc 21.0.12

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 65ms 7.2ms 10.1MB 53ms 0ms go 1.26.8
java 1-m.java 617ms 45ms 201.2MB 1710ms 63ms openjdk 21.0.12
java 1-m.java 714ms 118ms 215.6MB 1570ms 217ms openjdk/zgc 21.0.12

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3-m.go 979ms 13ms 5.8MB 3760ms 0ms go 1.26.8
java 1-m.java 1447ms 19ms 48.4MB 5427ms 17ms openjdk 21.0.12
java 1-m.java 1642ms 7.4ms 44.3MB 5787ms 113ms openjdk/zgc 21.0.12

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3-m.go 94ms 5.5ms 5.8MB 260ms 0ms go 1.26.8
java 1-m.java 248ms 7.6ms 47.8MB 690ms 23ms openjdk 21.0.12
java 1-m.java 348ms 18ms 44.1MB 810ms 93ms openjdk/zgc 21.0.12

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3-m.go 159ms 1.5ms 7.8MB 410ms 3ms go 1.26.8
java 4.java 471ms 5.9ms 48.4MB 617ms 17ms openjdk 21.0.12
java 4.java 569ms 9.0ms 44.2MB 627ms 110ms openjdk/zgc 21.0.12

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3-m.go 20ms 0.2ms 7.8MB 37ms 0ms go 1.26.8
java 4-m.java 171ms 12ms 47.1MB 250ms 23ms openjdk 21.0.12
java 4.java 237ms 6.5ms 41.9MB 237ms 93ms openjdk/zgc 21.0.12

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 3.0ms 0.7ms 5.0MB 0ms 0ms go 1.26.8
java 1.java 93ms 5.3ms 44.3MB 116ms 12ms openjdk 21.0.12
java 1.java 165ms 3.2ms 42.8MB 128ms 88ms openjdk/zgc 21.0.12

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 7-m.go 1057ms 31ms 42.5MB 3777ms 13ms go 1.26.8
java 3-m.java 1654ms 24ms 130.8MB 5690ms 57ms openjdk 21.0.12
java 3-m.java 2450ms 118ms 179.0MB 8267ms 210ms openjdk/zgc 21.0.12

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 7-m.go 184ms 2.8ms 25.9MB 520ms 10ms go 1.26.8
java 3-m.java 484ms 10ms 101.1MB 1473ms 50ms openjdk 21.0.12
java 3-m.java 590ms 20ms 97.4MB 1550ms 137ms openjdk/zgc 21.0.12

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1b.java 1741ms 7.7ms 54.5MB 1907ms 20ms openjdk 21.0.12
java 1b.java 1833ms 34ms 49.0MB 1920ms 97ms openjdk/zgc 21.0.12
java 1a.java 1933ms 27ms 55.2MB 2107ms 17ms openjdk 21.0.12
java 1a.java 1982ms 11ms 50.0MB 2060ms 93ms openjdk/zgc 21.0.12
java 1.java 2013ms 85ms 287.1MB 2137ms 60ms openjdk 21.0.12
java 1.java 2603ms 83ms 838.3MB 2237ms 527ms openjdk/zgc 21.0.12
go 1.go 5080ms 21ms 7.8MB 5073ms 3ms go 1.26.8
java 2.java timeout (120s) — — — — openjdk 21.0.12
java 2.java timeout (120s) — — — — openjdk/zgc 21.0.12

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 212ms 1.8ms 5.8MB 200ms 0ms go 1.26.8
java 1-m.java 257ms 5.0ms 78.3MB 387ms 23ms openjdk 21.0.12
java 1a-m.java 258ms 8.5ms 50.5MB 423ms 17ms openjdk 21.0.12
java 1b-m.java 268ms 33ms 50.4MB 433ms 27ms openjdk 21.0.12
java 1a-m.java 339ms 1.1ms 47.7MB 423ms 100ms openjdk/zgc 21.0.12
java 1b-m.java 359ms 14ms 48.1MB 470ms 90ms openjdk/zgc 21.0.12
java 1.java 366ms 9.1ms 114.7MB 393ms 117ms openjdk/zgc 21.0.12
java 2.java 46770ms 782ms 412.7MB 49647ms 290ms openjdk 21.0.12
java 2.java 47223ms 457ms 4207.8MB 47620ms 2560ms openjdk/zgc 21.0.12

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 639ms 19ms 672.5MB 787ms 113ms openjdk 21.0.12
java 1.java 1091ms 23ms 952.0MB 723ms 573ms openjdk/zgc 21.0.12
go 2-m.go 2861ms 32ms 35.4MB 5927ms 33ms go 1.26.8
go 1-m.go 3072ms 206ms 36.8MB 5667ms 47ms go 1.26.8

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 244ms 6.2ms 203.4MB 380ms 43ms openjdk 21.0.12
java 1.java 494ms 111ms 341.8MB 367ms 237ms openjdk/zgc 21.0.12
go 1-m.go 617ms 73ms 14.2MB 1040ms 43ms go 1.26.8
go 2-m.go 642ms 38ms 14.3MB 1227ms 20ms go 1.26.8

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 668ms 14ms 5.0MB 657ms 0ms go 1.26.8
java 1.java 836ms 7.8ms 45.3MB 903ms 20ms openjdk 21.0.12
java 1.java 948ms 8.1ms 42.6MB 943ms 97ms openjdk/zgc 21.0.12
java 2.java 2391ms 105ms 668.4MB 2600ms 133ms openjdk 21.0.12
java 2.java 4242ms 39ms 2140.1MB 3463ms 1093ms openjdk/zgc 21.0.12

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 74ms 3.6ms 5.6MB 63ms 0ms go 1.26.8
java 1-m.java 192ms 4.7ms 45.4MB 267ms 23ms openjdk 21.0.12
java 1.java 284ms 11ms 45.1MB 267ms 110ms openjdk/zgc 21.0.12
java 2-m.java 470ms 6.5ms 319.0MB 713ms 53ms openjdk 21.0.12
java 2.java 889ms 1.9ms 558.5MB 850ms 327ms openjdk/zgc 21.0.12

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 984ms 2.2ms 73.9MB 970ms 3ms go 1.26.8
java 1.java 1105ms 7.1ms 117.6MB 1193ms 27ms openjdk 21.0.12
go 2.go 1267ms 63ms 20.8MB 1250ms 10ms go 1.26.8
java 1.java 1321ms 17ms 111.7MB 1293ms 140ms openjdk/zgc 21.0.12
java 2.java 1354ms 46ms 57.9MB 1457ms 20ms openjdk 21.0.12
java 2.java 1474ms 28ms 53.3MB 1470ms 117ms openjdk/zgc 21.0.12

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 177ms 2.2ms 21.8MB 170ms 0ms go 1.26.8
go 2.go 285ms 10.0ms 9.4MB 273ms 0ms go 1.26.8
java 1.java 315ms 5.1ms 65.5MB 413ms 17ms openjdk 21.0.12
java 2.java 395ms 1.2ms 48.3MB 503ms 10ms openjdk 21.0.12
java 1.java 431ms 36ms 60.2MB 433ms 113ms openjdk/zgc 21.0.12
java 2.java 475ms 3.8ms 47.7MB 473ms 113ms openjdk/zgc 21.0.12

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 8.go 1276ms 10ms 10.7MB 1260ms 0ms go 1.26.8
java 1.java 5357ms 89ms 417.2MB 6753ms 143ms openjdk 21.0.12
java 1.java 6538ms 393ms 2905.5MB 6313ms 1513ms openjdk/zgc 21.0.12

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 8.go 305ms 3.5ms 10.6MB 290ms 0ms go 1.26.8
java 1-m.java 1639ms 92ms 421.6MB 2920ms 107ms openjdk 21.0.12
java 1-m.java 2264ms 50ms 1392.4MB 2540ms 883ms openjdk/zgc 21.0.12

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 3.java 8627ms 72ms 563.4MB 9447ms 103ms openjdk 21.0.12
java 3.java 9355ms 276ms 737.5MB 9407ms 507ms openjdk/zgc 21.0.12
go 3.go 27882ms 432ms 149.1MB 27900ms 67ms go 1.26.8

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 3-m.java 1230ms 47ms 131.7MB 1947ms 43ms openjdk 21.0.12
java 3.java 1312ms 29ms 134.7MB 1800ms 130ms openjdk/zgc 21.0.12
go 3.go 2893ms 31ms 22.2MB 2887ms 10ms go 1.26.8

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 4-m.go 5816ms 1.9ms 7.8MB 22930ms 10ms go 1.26.8
java 2-m.java 6269ms 79ms 47.7MB 24327ms 20ms openjdk 21.0.12
java 2-m.java 6422ms 61ms 45.2MB 24347ms 163ms openjdk/zgc 21.0.12
go 1.go 11055ms 15ms 5.8MB 11050ms 7ms go 1.26.8

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 4-m.go 1460ms 2.3ms 5.8MB 5700ms 3ms go 1.26.8
java 2-m.java 1680ms 11ms 46.0MB 6267ms 40ms openjdk 21.0.12
java 2-m.java 1805ms 63ms 44.1MB 6343ms 120ms openjdk/zgc 21.0.12
go 1.go 2775ms 4.4ms 5.8MB 2763ms 0ms go 1.26.8

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 4-m.go 369ms 0.7ms 5.8MB 1390ms 0ms go 1.26.8
java 2-m.java 551ms 4.8ms 48.2MB 1853ms 20ms openjdk 21.0.12
java 2-m.java 646ms 7.1ms 45.7MB 1900ms 103ms openjdk/zgc 21.0.12
go 1.go 698ms 5.8ms 5.8MB 687ms 3ms go 1.26.8