Go VS Java benchmarks

Current benchmark data was generated on Thu Jul 13 2023, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (Model 106)

* -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 672ms 7.4ms 412.4MB 670ms 97ms openjdk 20
java 2.java 673ms 14ms 413.9MB 690ms 80ms openjdk 22
java 2.java 799ms 50ms 666.8MB 807ms 187ms graal/jvm 17.0.7
java 2.java 1336ms 56ms 1147.9MB 903ms 630ms openjdk/zgc 20
go 1.go 3509ms 41ms 45.0MB 5013ms 43ms go 1.20.6
go 1.go 4400ms 25ms 50.6MB 4380ms 3ms tinygo 0.28.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 165ms 6.2ms 108.9MB 160ms 27ms openjdk 22
java 2.java 165ms 3.9ms 108.4MB 157ms 33ms openjdk 20
java 2.java 187ms 9.1ms 164.5MB 217ms 40ms graal/jvm 17.0.7
java 2.java 298ms 0.3ms 235.9MB 193ms 137ms openjdk/zgc 20
go 1.go 308ms 4.5ms 8.1MB 397ms 0ms go 1.20.6
go 1.go 440ms 1.4ms 6.9MB 427ms 0ms tinygo 0.28.1

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1-m.go 930ms 108ms 13.5MB 1800ms 7ms go 1.20.6
go 1.go 3070ms 9.5ms 253.2MB 2970ms 77ms tinygo 0.28.1
java 1.java timeout 0.0ms 142.9MB 9613ms 87ms openjdk 20
java 1.java timeout 0.0ms 146.5MB 9657ms 77ms openjdk 22
java 1.java timeout 0.0ms 931.7MB 9253ms 423ms openjdk/zgc 20

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1-m.go 79ms 17ms 5.4MB 130ms 0ms go 1.20.6
go 1.go 477ms 0.5ms 65.4MB 457ms 3ms tinygo 0.28.1
java 1-m.java 796ms 16ms 113.4MB 1413ms 57ms openjdk 20
java 1-m.java 887ms 100ms 102.5MB 1617ms 37ms openjdk 22
java 1-m.java 899ms 17ms 206.7MB 1447ms 160ms openjdk/zgc 20

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 163ms 1.2ms 8.3MB 153ms 0ms go 1.20.6
java 1-m.java 814ms 88ms 182.0MB 1423ms 77ms openjdk 20
java 1-m.java 834ms 39ms 326.2MB 1440ms 113ms graal/jvm 17.0.7
java 1-m.java 888ms 79ms 197.5MB 1563ms 90ms openjdk 22
java 1-m.java 1052ms 56ms 468.2MB 1553ms 307ms openjdk/zgc 20

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 48ms 1.4ms 8.1MB 37ms 0ms go 1.20.6
java 1-m.java 383ms 16ms 161.4MB 613ms 53ms graal/jvm 17.0.7
java 1-m.java 430ms 5.0ms 118.4MB 703ms 33ms openjdk 22
java 1-m.java 447ms 27ms 115.5MB 730ms 40ms openjdk 20
java 1-m.java 527ms 17ms 206.2MB 743ms 147ms openjdk/zgc 20

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3-m.go 1447ms 30ms 4.9MB 2773ms 3ms go 1.20.6
java 1-m.java 1660ms 24ms 92.0MB 3147ms 30ms graal/jvm 17.0.7
java 1-m.java 1678ms 19ms 43.4MB 3203ms 13ms openjdk 22
java 1-m.java 1706ms 16ms 42.4MB 3177ms 57ms openjdk/zgc 20
java 1-m.java 1751ms 60ms 40.7MB 3347ms 10ms openjdk 20
go 3.go 3013ms 2.7ms 50.3MB 2997ms 3ms tinygo 0.28.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3-m.go 144ms 0.9ms 2.9MB 217ms 3ms go 1.20.6
java 1-m.java 275ms 5.3ms 40.7MB 440ms 13ms openjdk 20
java 1-m.java 283ms 13ms 92.9MB 453ms 20ms graal/jvm 17.0.7
java 1-m.java 285ms 8.9ms 43.6MB 443ms 17ms openjdk 22
java 1-m.java 311ms 6.6ms 42.4MB 427ms 53ms openjdk/zgc 20
go 3.go 407ms 0.1ms 48.9MB 390ms 3ms tinygo 0.28.1

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3-m.go 255ms 4.3ms 2.9MB 457ms 0ms go 1.20.6
java 4.java 512ms 6.3ms 41.0MB 587ms 13ms openjdk 22
java 4.java 521ms 11ms 40.5MB 583ms 17ms openjdk 20
java 4.java 558ms 4.2ms 40.2MB 583ms 57ms openjdk/zgc 20
java 4.java 612ms 3.2ms 97.1MB 797ms 27ms graal/jvm 17.0.7

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3.go 31ms 0.6ms 2.9MB 40ms 0ms go 1.20.6
java 4.java 147ms 14ms 39.8MB 167ms 7ms openjdk 20
java 4.java 149ms 10ms 40.2MB 170ms 7ms openjdk 22
java 4.java 158ms 3.6ms 86.0MB 183ms 17ms graal/jvm 17.0.7
java 4.java 189ms 7.0ms 39.3MB 170ms 50ms openjdk/zgc 20

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 1.6ms 0.4ms 0.0MB 0ms 0ms tinygo 0.28.1
go 1.go 3.0ms 0.2ms 2.9MB 0ms 0ms go 1.20.6
java 1.java 72ms 3.2ms 61.2MB 70ms 8ms graal/jvm 17.0.7
java 1.java 76ms 1.1ms 41.5MB 76ms 8ms openjdk 22
java 1.java 81ms 4.5ms 39.3MB 78ms 10ms openjdk 20
java 1.java 118ms 5.5ms 38.2MB 74ms 52ms openjdk/zgc 20

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1-http2.go 11ms 2.3ms 17.3MB 0ms 0ms go 1.20.6
go 2-m.go 560ms 15ms 159.4MB 537ms 350ms go 1.20.6
go 1-m.go 610ms 23ms 175.2MB 570ms 397ms go 1.20.6

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1-http2.go 39ms 2.0ms 26.1MB 43ms 3ms go 1.20.6
go 1.go 122ms 7.7ms 37.4MB 87ms 50ms go 1.20.6
go 2.go 128ms 8.4ms 38.4MB 87ms 53ms go 1.20.6

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 2-ffi.go 59ms 2.4ms 37.6MB 33ms 13ms go 1.20.6
go 1.go 173ms 1.2ms 18.4MB 163ms 0ms go 1.20.6

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 2-ffi.go 389ms 3.3ms 174.9MB 350ms 97ms go 1.20.6
go 1.go 1070ms 4.8ms 101.9MB 1040ms 63ms go 1.20.6

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 3-m.java 1459ms 35ms 114.5MB 2660ms 40ms openjdk 20
java 3-m.java 1485ms 8.5ms 114.9MB 2710ms 33ms openjdk 22
go 7-m.go 1492ms 12ms 45.7MB 2787ms 23ms go 1.20.6
java 3-m.java 1563ms 84ms 169.6MB 2880ms 53ms graal/jvm 17.0.7
java 3-m.java 1945ms 74ms 171.7MB 3443ms 137ms openjdk/zgc 20

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 7-m.go 226ms 12ms 24.8MB 357ms 23ms go 1.20.6
java 3-m.java 457ms 23ms 84.8MB 763ms 17ms openjdk 20
java 3-m.java 462ms 17ms 86.8MB 783ms 13ms openjdk 22
java 3-m.java 465ms 26ms 134.9MB 763ms 43ms graal/jvm 17.0.7
java 3-m.java 476ms 21ms 94.0MB 710ms 93ms openjdk/zgc 20

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3.go 174ms 0.2ms 0.4MB 160ms 0ms tinygo 0.28.1
go 3.go 177ms 1.4ms 3.4MB 163ms 0ms go 1.20.6

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3.go 516ms 1.1ms 0.4MB 503ms 0ms tinygo 0.28.1
go 3.go 519ms 1.6ms 3.4MB 503ms 0ms go 1.20.6

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 3.go 85ms 0.8ms 0.0MB 70ms 0ms tinygo 0.28.1
go 3.go 93ms 3.6ms 3.6MB 80ms 0ms go 1.20.6

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1b.java 1411ms 4.8ms 47.7MB 1480ms 20ms openjdk 22
java 1b.java 1424ms 14ms 47.3MB 1527ms 13ms openjdk 20
java 1b.java 1458ms 20ms 47.4MB 1507ms 60ms openjdk/zgc 20
java 1b.java 1470ms 5.7ms 108.0MB 1697ms 27ms graal/jvm 17.0.7
java 1a.java 1541ms 3.5ms 47.3MB 1613ms 13ms openjdk 20
java 1a.java 1552ms 5.7ms 48.0MB 1623ms 17ms openjdk 22
java 1a.java 1557ms 2.6ms 99.4MB 1653ms 17ms graal/jvm 17.0.7
java 1a.java 1579ms 7.5ms 48.6MB 1623ms 53ms openjdk/zgc 20
java 1.java 1620ms 3.0ms 205.7MB 1643ms 43ms openjdk 22
java 1.java 2015ms 21ms 163.3MB 2103ms 33ms graal/jvm 17.0.7
java 1.java 2133ms 6.2ms 200.5MB 2180ms 40ms openjdk 20
java 1.java 2521ms 8.8ms 576.8MB 2233ms 397ms openjdk/zgc 20
go 1.go 4379ms 2.8ms 7.3MB 4363ms 0ms go 1.20.6
go 1.go timeout 0.0ms 5.4MB 4983ms 0ms tinygo 0.28.1
java 2.java timeout 0.0ms 583.5MB 5140ms 137ms openjdk 20
java 2.java timeout 0.0ms 535.8MB 5163ms 127ms openjdk 22
java 2.java timeout 0.0ms 1758.3MB 4587ms 833ms openjdk/zgc 20

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 182ms 0.2ms 2.9MB 170ms 0ms go 1.20.6
java 1a.java 210ms 9.5ms 44.0MB 257ms 20ms openjdk 20
java 1a.java 215ms 2.1ms 44.1MB 270ms 10ms openjdk 22
java 1.java 219ms 11ms 95.5MB 263ms 20ms openjdk 20
java 1b.java 219ms 8.3ms 43.1MB 267ms 20ms openjdk 20
java 1b.java 224ms 5.1ms 43.7MB 297ms 10ms openjdk 22
java 1a.java 234ms 13ms 95.4MB 300ms 20ms graal/jvm 17.0.7
java 1.java 241ms 10ms 98.0MB 293ms 23ms openjdk 22
java 1.java 242ms 14ms 101.2MB 313ms 23ms graal/jvm 17.0.7
go 1.go 243ms 0.5ms 0.0MB 230ms 0ms tinygo 0.28.1
java 1b-m.java 250ms 31ms 96.5MB 370ms 27ms graal/jvm 17.0.7
java 1a.java 251ms 2.6ms 45.6MB 260ms 57ms openjdk/zgc 20
java 1b.java 266ms 9.2ms 44.9MB 293ms 53ms openjdk/zgc 20
java 1.java 292ms 13ms 110.2MB 303ms 77ms openjdk/zgc 20
java 2.java 778ms 33ms 545.6MB 950ms 117ms openjdk 22
java 2.java 788ms 25ms 566.3MB 973ms 120ms openjdk 20
java 2.java 1377ms 10ms 1001.3MB 1017ms 643ms openjdk/zgc 20

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 512ms 13ms 287.9MB 523ms 67ms openjdk 22
java 1.java 521ms 6.6ms 286.6MB 533ms 67ms openjdk 20
java 1.java 573ms 65ms 370.7MB 733ms 83ms graal/jvm 17.0.7
java 1.java 957ms 46ms 764.8MB 643ms 447ms openjdk/zgc 20
go 1.go 2080ms 20ms 37.6MB 2947ms 27ms go 1.20.6
go 2.go 2382ms 46ms 49.9MB 3403ms 57ms go 1.20.6
go 1.go 2858ms 2.3ms 51.9MB 2840ms 3ms tinygo 0.28.1
go 2.go 4300ms 6.9ms 120.1MB 4273ms 10ms tinygo 0.28.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 230ms 13ms 223.6MB 233ms 47ms openjdk 22
java 1.java 233ms 11ms 222.5MB 247ms 43ms openjdk 20
java 1-m.java 269ms 18ms 279.1MB 370ms 57ms graal/jvm 17.0.7
java 1.java 433ms 5.6ms 346.0MB 257ms 217ms openjdk/zgc 20
go 1.go 444ms 5.6ms 12.3MB 607ms 7ms go 1.20.6
go 2.go 510ms 1.8ms 13.2MB 720ms 7ms go 1.20.6
go 1.go 607ms 1.8ms 13.1MB 593ms 0ms tinygo 0.28.1
go 2.go 833ms 2.9ms 29.9MB 820ms 0ms tinygo 0.28.1

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 430ms 0.7ms 0.0MB 420ms 0ms tinygo 0.28.1
go 1.go 456ms 1.6ms 2.9MB 450ms 0ms go 1.20.6
java 1.java 546ms 4.8ms 87.4MB 567ms 27ms graal/jvm 17.0.7
java 1.java 568ms 7.8ms 40.5MB 577ms 13ms openjdk 20
java 1.java 569ms 5.5ms 43.6MB 580ms 10ms openjdk 22
java 1.java 608ms 2.8ms 41.6MB 577ms 60ms openjdk/zgc 20
java 2.java 1893ms 12ms 514.6MB 1927ms 103ms openjdk 20
java 2.java 1933ms 5.9ms 506.0MB 1947ms 120ms openjdk 22
java 2.java 2609ms 2.3ms 1195.5MB 2063ms 730ms openjdk/zgc 20

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 45ms 0.7ms 0.0MB 37ms 0ms tinygo 0.28.1
go 1.go 52ms 0.6ms 2.9MB 40ms 0ms go 1.20.6
java 1.java 141ms 3.4ms 84.6MB 173ms 13ms graal/jvm 17.0.7
java 1.java 148ms 3.9ms 40.8MB 160ms 17ms openjdk 20
java 1.java 149ms 5.8ms 41.7MB 163ms 10ms openjdk 22
java 1.java 197ms 7.3ms 41.7MB 167ms 57ms openjdk/zgc 20
java 2.java 424ms 2.6ms 338.1MB 493ms 60ms openjdk 20
java 2.java 425ms 2.7ms 330.8MB 493ms 67ms openjdk 22
java 2.java 762ms 1.2ms 522.5MB 547ms 360ms openjdk/zgc 20

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 600ms 68ms 43.8MB 580ms 7ms tinygo 0.28.1
go 1.go 633ms 64ms 72.4MB 607ms 7ms go 1.20.6
go 2.go 640ms 9.9ms 16.3MB 627ms 0ms tinygo 0.28.1
java 1.java 694ms 14ms 85.4MB 700ms 23ms openjdk 22
java 1.java 734ms 33ms 84.7MB 750ms 23ms openjdk 20
go 2.go 915ms 12ms 21.8MB 887ms 10ms go 1.20.6
java 1.java 970ms 84ms 110.1MB 930ms 87ms openjdk/zgc 20
java 2.java 1000ms 5.3ms 48.9MB 980ms 57ms openjdk/zgc 20
java 2.java 1017ms 8.0ms 51.9MB 1053ms 7ms openjdk 22
java 2.java 1020ms 4.5ms 50.9MB 1043ms 13ms openjdk 20
java 1-m.java 1226ms 33ms 242.1MB 1830ms 90ms graal/jvm 17.0.7
java 2-m.java 1700ms 6.4ms 190.7MB 3000ms 70ms graal/jvm 17.0.7

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 1.go 136ms 2.3ms 21.5MB 117ms 0ms go 1.20.6
go 1.go 138ms 4.4ms 13.4MB 127ms 0ms tinygo 0.28.1
go 2.go 153ms 3.0ms 5.6MB 143ms 0ms tinygo 0.28.1
go 2.go 217ms 1.8ms 7.3MB 207ms 0ms go 1.20.6
java 1.java 240ms 8.0ms 59.6MB 257ms 23ms openjdk 22
java 1.java 241ms 1.4ms 58.8MB 257ms 20ms openjdk 20
java 1.java 290ms 3.0ms 59.3MB 263ms 63ms openjdk/zgc 20
java 2.java 327ms 5.8ms 45.0MB 350ms 17ms openjdk 20
java 2.java 330ms 7.5ms 47.6MB 350ms 17ms openjdk 22
java 1-m.java 339ms 12ms 151.2MB 477ms 40ms graal/jvm 17.0.7
java 2.java 360ms 6.3ms 44.3MB 340ms 53ms openjdk/zgc 20
java 2-m.java 623ms 7.0ms 150.9MB 1083ms 63ms graal/jvm 17.0.7

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 8.go 1388ms 2.0ms 8.5MB 1373ms 0ms go 1.20.6
java 1.java 4975ms 15ms 338.9MB 5350ms 67ms graal/jvm 17.0.7
java 1.java timeout 0.0ms 299.0MB 5433ms 90ms openjdk 20
java 1.java timeout 0.0ms 285.3MB 5593ms 80ms openjdk 22
java 1.java timeout 0.0ms 1177.0MB 5083ms 597ms openjdk/zgc 20

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 8.go 334ms 0.9ms 8.5MB 320ms 0ms go 1.20.6
java 1.java 1328ms 19ms 352.8MB 1673ms 63ms graal/jvm 17.0.7
java 1.java 1448ms 18ms 250.9MB 1840ms 73ms openjdk 20
java 1.java 1460ms 5.9ms 305.3MB 1907ms 63ms openjdk 22
java 1.java 1985ms 21ms 968.9MB 1903ms 623ms openjdk/zgc 20

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 125.9MB 4963ms 93ms go 1.20.6
go 3.go timeout 0.0ms 104.1MB 4960ms 20ms tinygo 0.28.1
java 3.java timeout 0.0ms 250.5MB 5317ms 63ms graal/jvm 17.0.7
java 3.java timeout 0.0ms 204.5MB 5253ms 63ms openjdk 20
java 3.java timeout 0.0ms 228.0MB 5277ms 57ms openjdk 22
java 3.java timeout 0.0ms 331.8MB 4970ms 223ms openjdk/zgc 20

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 3.java 1019ms 5.8ms 167.1MB 1397ms 50ms graal/jvm 17.0.7
java 3.java 1043ms 13ms 98.4MB 1397ms 27ms openjdk 22
java 3.java 1066ms 8.2ms 111.9MB 1410ms 23ms openjdk 20
java 3.java 1170ms 23ms 156.7MB 1343ms 123ms openjdk/zgc 20
go 3.go 2500ms 12ms 20.9MB 2480ms 20ms go 1.20.6
go 3.go 3216ms 9.2ms 30.0MB 3193ms 7ms tinygo 0.28.1

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 0-ffi.go 170ms 2.7ms 9.4MB 163ms 3ms go 1.20.6

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 0-ffi.go 55ms 1.5ms 9.4MB 43ms 0ms go 1.20.6

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 4-m.go 2512ms 26ms 5.5MB 4843ms 0ms go 1.20.6
java 2-m.java 4198ms 143ms 90.9MB 8130ms 17ms graal/jvm 17.0.7
java 2-m.java 4416ms 29ms 45.5MB 8555ms 15ms openjdk 22
go 1.go 4902ms 6.8ms 5.5MB 4893ms 0ms go 1.20.6
go 1.go timeout 0.0ms 2.0MB 4990ms 0ms tinygo 0.28.1
java 2.java timeout 0.0ms 40.2MB 9730ms 13ms openjdk 20
java 2.java timeout 0.0ms 42.4MB 9590ms 40ms openjdk/zgc 20

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 4-m.go 631ms 3.4ms 3.4MB 1200ms 0ms go 1.20.6
java 2-m.java 1192ms 17ms 43.5MB 2213ms 13ms openjdk 22
java 2-m.java 1208ms 38ms 91.5MB 2243ms 20ms graal/jvm 17.0.7
go 1.go 1228ms 11ms 2.9MB 1213ms 0ms go 1.20.6
java 2-m.java 1701ms 17ms 40.6MB 3223ms 3ms openjdk 20
java 2-m.java 1845ms 184ms 40.3MB 3417ms 60ms openjdk/zgc 20
go 1.go 2577ms 1.8ms 0.0MB 2560ms 0ms tinygo 0.28.1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
go 4-m.go 167ms 1.5ms 3.4MB 297ms 0ms go 1.20.6
go 1.go 312ms 3.2ms 2.9MB 300ms 0ms go 1.20.6
java 2-m.java 418ms 13ms 43.6MB 710ms 7ms openjdk 22
java 2-m.java 435ms 10ms 93.6MB 717ms 33ms graal/jvm 17.0.7
java 2-m.java 595ms 5.3ms 40.9MB 1060ms 10ms openjdk 20
java 2-m.java 638ms 37ms 42.3MB 1057ms 57ms openjdk/zgc 20
go 1.go 646ms 1.0ms 0.0MB 637ms 0ms tinygo 0.28.1