Go VS Java benchmarks

Current benchmark data was generated on Sun Jul 13 2025, 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

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 455ms 1.0ms 575.9MB 557ms 83ms openjdk 21
java 2-m.java 469ms 4.8ms 641.2MB 673ms 113ms graal/jvm 17.0.8
java 2.java 473ms 8.9ms 642.1MB 573ms 103ms openjdk 23
java 2.java 1191ms 22ms 1054.4MB 577ms 773ms openjdk/zgc 21
go 1.go 1743ms 3.1ms 51.9MB 1723ms 10ms tinygo 0.38.0
go 1-m.go 2344ms 26ms 41.8MB 5190ms 40ms go 1.24.5

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2-m.java 125ms 0.6ms 167.1MB 157ms 33ms openjdk 21
java 2.java 129ms 5.0ms 96.0MB 167ms 27ms openjdk 23
go 1.go 148ms 3.7ms 5.0MB 140ms 0ms tinygo 0.38.0
java 2-m.java 151ms 3.3ms 227.2MB 220ms 63ms graal/jvm 17.0.8
go 1-m.go 208ms 2.6ms 8.0MB 370ms 7ms go 1.24.5
java 2.java 305ms 2.0ms 241.5MB 157ms 197ms openjdk/zgc 21

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1-m.go 685ms 62ms 15.6MB 2630ms 0ms go 1.24.5
java 1-m.java 2305ms 190ms 264.5MB 8783ms 140ms openjdk 21
java 1-m.java 2419ms 254ms 243.1MB 9207ms 137ms openjdk 23
java 1-m.java 2938ms 109ms 1226.1MB 9570ms 1070ms openjdk/zgc 21
go 1.go timeout 0.0ms 13.1MB 2433ms 17063ms tinygo 0.38.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1-m.go 54ms 5.9ms 7.5MB 187ms 0ms go 1.24.5
java 1-m.java 464ms 5.9ms 96.8MB 1527ms 67ms openjdk 23
java 1-m.java 473ms 16ms 121.6MB 1597ms 57ms openjdk 21
go 1-m.go 651ms 55ms 4.3MB 280ms 2150ms tinygo 0.38.0
java 1-m.java 654ms 16ms 213.4MB 1803ms 237ms openjdk/zgc 21

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 117ms 2.1ms 8.4MB 107ms 0ms go 1.24.5
java 1-m.java 555ms 15ms 273.6MB 1557ms 70ms openjdk 21
java 1-m.java 623ms 13ms 381.7MB 1183ms 123ms graal/jvm 17.0.8
java 1-m.java 641ms 58ms 267.1MB 1720ms 63ms openjdk 23
java 1-m.java 950ms 37ms 500.2MB 1577ms 403ms openjdk/zgc 21

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 35ms 1.1ms 8.2MB 30ms 0ms go 1.24.5
java 1-m.java 305ms 11ms 226.1MB 607ms 67ms graal/jvm 17.0.8
java 1-m.java 355ms 28ms 177.9MB 977ms 43ms openjdk 21
java 1-m.java 375ms 23ms 127.9MB 1017ms 50ms openjdk 23
java 1-m.java 508ms 21ms 215.5MB 1010ms 213ms openjdk/zgc 21

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3-m.go 722ms 3.3ms 3.0MB 2663ms 43ms tinygo 0.38.0
go 3-m.go 725ms 0.6ms 5.6MB 2807ms 0ms go 1.24.5
java 1-m.java 901ms 6.8ms 97.1MB 3320ms 40ms graal/jvm 17.0.8
java 1-m.java 983ms 3.0ms 48.4MB 3663ms 17ms openjdk 21
java 1-m.java 987ms 5.3ms 50.2MB 3643ms 20ms openjdk 23
java 1-m.java 1036ms 2.8ms 45.8MB 3383ms 143ms openjdk/zgc 21

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3-m.go 76ms 0.2ms 3.5MB 210ms 0ms go 1.24.5
go 3-m.go 102ms 3.6ms 3.0MB 187ms 37ms tinygo 0.38.0
java 1-m.java 183ms 8.1ms 48.2MB 497ms 20ms openjdk 21
java 1-m.java 188ms 2.5ms 50.3MB 487ms 23ms openjdk 23
java 1-m.java 205ms 0.3ms 95.9MB 573ms 40ms graal/jvm 17.0.8
java 1-m.java 299ms 1.9ms 45.9MB 493ms 137ms openjdk/zgc 21

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3-m.go 118ms 0.9ms 5.5MB 380ms 0ms go 1.24.5
java 4.java 448ms 4.7ms 101.5MB 633ms 37ms graal/jvm 17.0.8
java 4.java 458ms 6.9ms 47.4MB 543ms 17ms openjdk 21
java 4.java 464ms 8.8ms 49.1MB 557ms 20ms openjdk 23
java 4.java 566ms 2.0ms 45.1MB 530ms 140ms openjdk/zgc 21

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3-m.go 18ms 1.5ms 6.5MB 30ms 0ms go 1.24.5
java 4.java 120ms 2.9ms 46.6MB 163ms 13ms openjdk 21
java 4.java 127ms 4.2ms 48.0MB 173ms 17ms openjdk 23
java 4-m.java 131ms 4.7ms 94.1MB 183ms 37ms graal/jvm 17.0.8
java 4.java 242ms 2.2ms 43.9MB 163ms 137ms openjdk/zgc 21

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 0.6ms 0.1ms 0.3MB 0ms 0ms tinygo 0.38.0
go 1.go 1.4ms 0.1ms 3.4MB 0ms 0ms go 1.24.5
java 1.java 62ms 2.2ms 52.9MB 66ms 18ms graal/jvm 17.0.8
java 1.java 67ms 7.0ms 43.8MB 74ms 18ms openjdk 21
java 1.java 71ms 5.3ms 44.7MB 74ms 16ms openjdk 23
java 1.java 193ms 7.2ms 42.8MB 82ms 136ms openjdk/zgc 21

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1-http2.go 120ms 5.3ms 60.3MB 330ms 80ms go 1.24.5
go 2-m.go 386ms 12ms 170.1MB 687ms 633ms go 1.24.5
go 1-m.go 388ms 25ms 176.1MB 727ms 580ms go 1.24.5

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1-http2.go 23ms 13ms 25.6MB 60ms 15ms go 1.24.5
go 2-m.go 25ms 25ms 26.9MB 35ms 50ms go 1.24.5
go 1-m.go 70ms 3.8ms 36.7MB 97ms 97ms go 1.24.5

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 2-ffi.go 46ms 0.9ms 40.5MB 40ms 3ms go 1.24.5
go 1.go 144ms 1.6ms 18.6MB 137ms 0ms go 1.24.5

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 2-ffi.go 251ms 6.7ms 145.2MB 247ms 40ms go 1.24.5
go 1.go 752ms 3.9ms 105.1MB 740ms 13ms go 1.24.5

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 7-m.go 703ms 41ms 40.2MB 2410ms 30ms go 1.24.5
java 3-m.java 1030ms 58ms 127.6MB 3553ms 33ms openjdk 21
java 3-m.java 1084ms 15ms 158.2MB 3720ms 43ms openjdk 23
java 3-m.java 1100ms 49ms 179.0MB 3693ms 73ms graal/jvm 17.0.8
java 3-m.java 1449ms 55ms 179.3MB 4600ms 200ms openjdk/zgc 21

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 7-m.go 129ms 2.0ms 24.0MB 343ms 20ms go 1.24.5
java 3-m.java 338ms 53ms 96.3MB 993ms 50ms openjdk 21
java 3-m.java 341ms 21ms 136.0MB 907ms 60ms graal/jvm 17.0.8
java 3-m.java 345ms 34ms 88.9MB 1023ms 40ms openjdk 23
java 3-m.java 426ms 6.6ms 98.2MB 890ms 170ms openjdk/zgc 21

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3.go 121ms 2.2ms 3.5MB 113ms 0ms go 1.24.5
go 3.go 133ms 1.4ms 0.4MB 127ms 0ms tinygo 0.38.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3.go 390ms 2.9ms 0.4MB 380ms 0ms tinygo 0.38.0
go 3.go 390ms 2.1ms 3.5MB 380ms 0ms go 1.24.5

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3.go 50ms 0.9ms 3.5MB 40ms 0ms go 1.24.5
go 3.go 65ms 2.1ms 0.3MB 60ms 0ms tinygo 0.38.0

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1b.java 1148ms 3.6ms 54.4MB 1243ms 23ms openjdk 21
java 1b.java 1151ms 11ms 55.3MB 1253ms 23ms openjdk 23
java 1b.java 1176ms 8.9ms 104.9MB 1347ms 40ms graal/jvm 17.0.8
java 1.java 1253ms 4.6ms 134.0MB 1370ms 43ms graal/jvm 17.0.8
java 1b.java 1270ms 3.9ms 51.2MB 1247ms 143ms openjdk/zgc 21
java 1a.java 1659ms 4.1ms 56.1MB 1757ms 23ms openjdk 23
java 1a.java 1664ms 3.0ms 54.6MB 1767ms 23ms openjdk 21
java 1a.java 1682ms 5.1ms 102.5MB 1793ms 40ms graal/jvm 17.0.8
java 1.java 1699ms 4.8ms 202.4MB 1773ms 37ms openjdk 21
java 1.java 1719ms 5.3ms 339.5MB 1780ms 57ms openjdk 23
java 1a.java 1779ms 9.0ms 51.9MB 1757ms 140ms openjdk/zgc 21
java 1.java 2364ms 7.9ms 840.5MB 1793ms 677ms openjdk/zgc 21
go 1.go 2664ms 11ms 7.7MB 2657ms 0ms go 1.24.5
go 1.go 3575ms 20ms 3.3MB 3567ms 0ms tinygo 0.38.0
java 2.java timeout 0.0ms 667.9MB 5287ms 113ms openjdk 21
java 2.java timeout 0.0ms 832.8MB 5270ms 133ms openjdk 23
java 2.java timeout 0.0ms 3268.7MB 3443ms 1920ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 117ms 2.8ms 3.6MB 110ms 0ms go 1.24.5
go 1.go 151ms 2.9ms 0.4MB 143ms 0ms tinygo 0.38.0
java 1b-m.java 182ms 16ms 51.0MB 290ms 20ms openjdk 23
java 1b-m.java 184ms 23ms 49.7MB 300ms 20ms openjdk 21
java 1-m.java 189ms 0.7ms 81.7MB 263ms 30ms openjdk 21
java 1-m.java 190ms 1.4ms 87.0MB 263ms 27ms openjdk 23
java 1a-m.java 190ms 0.9ms 50.8MB 293ms 17ms openjdk 21
java 1a-m.java 192ms 1.9ms 52.4MB 297ms 23ms openjdk 23
java 1-m.java 198ms 1.9ms 112.3MB 303ms 43ms graal/jvm 17.0.8
java 1a-m.java 205ms 5.5ms 98.8MB 313ms 43ms graal/jvm 17.0.8
java 1b-m.java 220ms 15ms 102.1MB 373ms 37ms graal/jvm 17.0.8
java 1a.java 311ms 2.1ms 49.0MB 293ms 137ms openjdk/zgc 21
java 1b.java 323ms 14ms 47.7MB 327ms 137ms openjdk/zgc 21
java 1.java 329ms 3.3ms 114.4MB 267ms 157ms openjdk/zgc 21
java 2-m.java 565ms 6.3ms 660.9MB 850ms 93ms openjdk 21
java 2-m.java 567ms 4.7ms 757.4MB 843ms 110ms openjdk 23
java 2.java 1585ms 8.4ms 1334.6MB 847ms 1037ms openjdk/zgc 21

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 401ms 5.9ms 544.3MB 500ms 87ms openjdk 23
java 1.java 403ms 2.1ms 680.0MB 480ms 87ms openjdk 21
java 1-m.java 444ms 62ms 669.4MB 667ms 113ms graal/jvm 17.0.8
java 1.java 1021ms 2.8ms 934.5MB 470ms 697ms openjdk/zgc 21
go 1.go 1031ms 11ms 35.5MB 1010ms 7ms tinygo 0.38.0
go 2.go 1380ms 20ms 51.9MB 1357ms 7ms tinygo 0.38.0
go 1-m.go 1434ms 9.9ms 41.0MB 3033ms 40ms go 1.24.5
go 2-m.go 1649ms 21ms 51.2MB 3610ms 33ms go 1.24.5

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 164ms 3.1ms 158.5MB 237ms 43ms openjdk 23
java 1-m.java 170ms 10ms 206.6MB 237ms 47ms openjdk 21
go 1.go 207ms 3.3ms 11.6MB 190ms 0ms tinygo 0.38.0
java 1-m.java 221ms 7.1ms 253.9MB 363ms 63ms graal/jvm 17.0.8
go 2.go 259ms 3.2ms 15.4MB 243ms 0ms tinygo 0.38.0
go 1-m.go 325ms 2.6ms 12.2MB 653ms 23ms go 1.24.5
go 2-m.go 368ms 1.3ms 14.3MB 783ms 17ms go 1.24.5
java 1.java 411ms 7.8ms 341.9MB 223ms 267ms openjdk/zgc 21

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 347ms 2.9ms 0.3MB 340ms 0ms tinygo 0.38.0
go 1.go 351ms 2.5ms 3.5MB 343ms 0ms go 1.24.5
java 1.java 442ms 1.0ms 45.1MB 480ms 17ms openjdk 21
java 1.java 444ms 3.9ms 48.3MB 480ms 23ms openjdk 23
java 1.java 454ms 0.5ms 81.1MB 490ms 30ms graal/jvm 17.0.8
java 1.java 563ms 6.0ms 44.7MB 483ms 133ms openjdk/zgc 21
java 2.java 1235ms 3.8ms 571.4MB 1363ms 87ms openjdk 21
java 2.java 1310ms 91ms 794.4MB 1433ms 93ms openjdk 23
java 2.java 3270ms 60ms 2461.0MB 1670ms 1817ms openjdk/zgc 21

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 37ms 1.7ms 0.3MB 30ms 0ms tinygo 0.38.0
go 1.go 38ms 1.3ms 3.5MB 30ms 0ms go 1.24.5
java 1.java 116ms 4.0ms 45.4MB 143ms 23ms openjdk 21
java 1.java 119ms 2.3ms 81.5MB 150ms 27ms graal/jvm 17.0.8
java 1.java 120ms 2.0ms 47.9MB 157ms 13ms openjdk 23
java 1.java 240ms 5.7ms 44.7MB 153ms 140ms openjdk/zgc 21
java 2-m.java 294ms 9.4ms 366.4MB 437ms 50ms openjdk 21
java 2-m.java 317ms 4.3ms 397.4MB 450ms 67ms openjdk 23
java 2.java 674ms 5.7ms 533.2MB 460ms 400ms openjdk/zgc 21

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 313ms 5.6ms 39.4MB 297ms 0ms tinygo 0.38.0
go 1.go 315ms 7.2ms 71.7MB 303ms 0ms go 1.24.5
java 1.java 390ms 0.8ms 118.4MB 430ms 23ms openjdk 23
java 1.java 391ms 5.0ms 115.1MB 447ms 23ms openjdk 21
go 2.go 470ms 3.6ms 20.0MB 457ms 0ms tinygo 0.38.0
java 1.java 561ms 6.7ms 112.6MB 463ms 160ms openjdk/zgc 21
java 1-m.java 626ms 57ms 271.3MB 907ms 73ms graal/jvm 17.0.8
java 2.java 779ms 2.8ms 57.2MB 837ms 23ms openjdk 21
java 2.java 783ms 1.4ms 60.2MB 830ms 20ms openjdk 23
go 2.go 784ms 5.0ms 21.8MB 773ms 7ms go 1.24.5
java 2.java 853ms 0.8ms 53.3MB 780ms 147ms openjdk/zgc 21
java 2-m.java 1413ms 80ms 290.5MB 2513ms 117ms graal/jvm 17.0.8

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 63ms 3.8ms 21.6MB 53ms 0ms go 1.24.5
go 1.go 71ms 6.1ms 10.0MB 60ms 0ms tinygo 0.38.0
go 2.go 118ms 3.3ms 4.1MB 110ms 0ms tinygo 0.38.0
java 1.java 152ms 2.2ms 64.8MB 200ms 20ms openjdk 21
java 1.java 154ms 3.8ms 68.1MB 203ms 20ms openjdk 23
go 2.go 194ms 1.7ms 6.1MB 187ms 0ms go 1.24.5
java 1-m.java 212ms 3.8ms 133.8MB 293ms 47ms graal/jvm 17.0.8
java 2.java 262ms 8.9ms 50.3MB 310ms 20ms openjdk 23
java 2.java 263ms 4.7ms 49.3MB 330ms 20ms openjdk 21
java 1.java 278ms 4.5ms 61.5MB 197ms 143ms openjdk/zgc 21
java 2.java 368ms 3.9ms 47.5MB 307ms 143ms openjdk/zgc 21
java 2-m.java 483ms 1.9ms 140.6MB 857ms 63ms graal/jvm 17.0.8

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 8.go 1128ms 11ms 8.6MB 1117ms 3ms go 1.24.5
java 1.java 3212ms 15ms 444.6MB 3627ms 110ms graal/jvm 17.0.8
java 1.java 3669ms 54ms 426.1MB 4610ms 110ms openjdk 21
java 1.java 3752ms 19ms 501.5MB 4603ms 120ms openjdk 23
java 1.java timeout 0.0ms 1758.6MB 4670ms 1183ms openjdk/zgc 21

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 8.go 266ms 3.2ms 8.6MB 253ms 0ms go 1.24.5
java 1.java 896ms 13ms 444.3MB 1243ms 87ms graal/jvm 17.0.8
java 1-m.java 1001ms 28ms 353.6MB 1797ms 90ms openjdk 21
java 1-m.java 1015ms 31ms 423.3MB 1787ms 93ms openjdk 23
java 1.java 2003ms 34ms 1358.4MB 1703ms 1060ms openjdk/zgc 21

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3.go timeout 0.0ms 124.3MB 4987ms 43ms go 1.24.5
go 3.go timeout 0.0ms 85.0MB 4973ms 13ms tinygo 0.38.0
java 3.java timeout 0.0ms 407.7MB 5397ms 93ms graal/jvm 17.0.8
java 3.java timeout 0.0ms 302.1MB 5333ms 53ms openjdk 21
java 3.java timeout 0.0ms 304.8MB 5320ms 67ms openjdk 23
java 3.java timeout 0.0ms 471.1MB 4957ms 303ms openjdk/zgc 21

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 3-m.java 782ms 10ms 175.4MB 1160ms 47ms graal/jvm 17.0.8
java 3-m.java 806ms 18ms 130.9MB 1183ms 33ms openjdk 21
java 3-m.java 814ms 8.2ms 132.4MB 1230ms 30ms openjdk 23
java 3.java 963ms 9.6ms 133.9MB 1133ms 177ms openjdk/zgc 21
go 3.go 1778ms 8.4ms 20.0MB 1760ms 23ms go 1.24.5
go 3.go 2263ms 4.0ms 23.2MB 2243ms 3ms tinygo 0.38.0

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 0-ffi.go 93ms 0.4ms 5.2MB 90ms 0ms go 1.24.5

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 0-ffi.go 25ms 0.6ms 5.1MB 20ms 0ms go 1.24.5

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 4-m.go 1905ms 8.6ms 5.5MB 7413ms 7ms go 1.24.5
java 2-m.java 1988ms 6.6ms 47.8MB 7613ms 23ms openjdk 21
java 2-m.java 1996ms 1.7ms 48.5MB 7643ms 30ms openjdk 23
java 2-m.java 2127ms 4.4ms 45.5MB 7673ms 153ms openjdk/zgc 21
java 2-m.java 2508ms 27ms 94.1MB 9400ms 37ms graal/jvm 17.0.8
go 1.go 3702ms 11ms 5.6MB 3693ms 0ms go 1.24.5
go 1.go timeout 0.0ms 0.5MB 4990ms 0ms tinygo 0.38.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 4-m.go 482ms 3.4ms 5.5MB 1833ms 0ms go 1.24.5
java 2-m.java 602ms 2.3ms 47.5MB 2150ms 17ms openjdk 21
java 2-m.java 612ms 9.6ms 48.6MB 2137ms 20ms openjdk 23
java 2-m.java 737ms 8.8ms 45.3MB 2157ms 143ms openjdk/zgc 21
java 2-m.java 761ms 18ms 94.5MB 2673ms 37ms graal/jvm 17.0.8
go 1.go 915ms 1.8ms 3.5MB 907ms 0ms go 1.24.5
go 1.go 1397ms 0.6ms 0.4MB 1390ms 0ms tinygo 0.38.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 4-m.go 125ms 0.9ms 5.5MB 450ms 0ms go 1.24.5
go 1.go 237ms 2.0ms 3.5MB 230ms 0ms go 1.24.5
java 2-m.java 253ms 12ms 47.6MB 770ms 17ms openjdk 21
java 2-m.java 255ms 4.3ms 48.5MB 763ms 20ms openjdk 23
java 2-m.java 328ms 5.5ms 93.3MB 1020ms 40ms graal/jvm 17.0.8
go 1.go 351ms 0.4ms 0.4MB 340ms 0ms tinygo 0.38.0
java 2-m.java 381ms 12ms 45.7MB 770ms 147ms openjdk/zgc 21