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 Rust 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
rust 5.rs 2161ms 12ms 33.8MB 2140ms 3ms rustc 1.98.1
rust 3.rs 2212ms 49ms 49.8MB 2183ms 10ms rustc 1.98.1
rust 4.rs 2253ms 19ms 33.8MB 2230ms 10ms rustc 1.98.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 5.rs 185ms 4.9ms 5.7MB 173ms 0ms rustc 1.98.1
java 2.java 192ms 18ms 167.6MB 260ms 27ms openjdk 21.0.12
rust 4.rs 203ms 1.5ms 5.7MB 190ms 0ms rustc 1.98.1
rust 3.rs 205ms 20ms 7.8MB 190ms 0ms rustc 1.98.1
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
rust 5-m.rs 776ms 8.2ms 5.2MB 2963ms 60ms rustc 1.98.1
rust 3-m.rs 1159ms 98ms 8.8MB 4437ms 87ms rustc 1.98.1
rust 1-m.rs 1841ms 27ms 8.6MB 6870ms 303ms rustc 1.98.1
rust 3.rs 2252ms 19ms 9.1MB 2177ms 60ms rustc 1.98.1
java 1-m.java 2953ms 188ms 213.9MB 11130ms 147ms openjdk 21.0.12
rust 4.rs 3680ms 17ms 7.3MB 3663ms 3ms rustc 1.98.1
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
rust 5-m.rs 80ms 20ms 3.2MB 270ms 0ms rustc 1.98.1
rust 3-m.rs 81ms 11ms 5.8MB 260ms 10ms rustc 1.98.1
rust 3.rs 128ms 4.2ms 3.9MB 113ms 0ms rustc 1.98.1
rust 1-m.rs 128ms 3.9ms 5.5MB 437ms 23ms rustc 1.98.1
rust 4.rs 243ms 10ms 3.3MB 233ms 0ms rustc 1.98.1
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
rust 2.rs 195ms 1.6ms 4.4MB 183ms 0ms rustc 1.98.1
rust 1.rs 203ms 29ms 3.6MB 197ms 0ms rustc 1.98.1
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
rust 1.rs 52ms 2.2ms 2.8MB 40ms 0ms rustc 1.98.1
rust 2.rs 54ms 4.2ms 3.4MB 43ms 0ms rustc 1.98.1
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
rust 3-im.rs 376ms 5.4ms 3.1MB 1437ms 0ms rustc 1.98.1
rust 2-im.rs 811ms 3.4ms 1.2MB 3080ms 0ms rustc 1.98.1
rust 5-m.rs 1047ms 9.5ms 1.1MB 3977ms 3ms rustc 1.98.1
rust 3-i.rs 1073ms 14ms 1.1MB 1063ms 0ms rustc 1.98.1
rust 1-m.rs 1366ms 10ms 1.1MB 5263ms 0ms rustc 1.98.1
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
rust 2-i.rs 2458ms 53ms 1.1MB 2443ms 0ms rustc 1.98.1
rust 1.rs 2906ms 17ms 1.1MB 2893ms 0ms rustc 1.98.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 3-im.rs 36ms 2.0ms 3.1MB 107ms 0ms rustc 1.98.1
rust 2-im.rs 72ms 1.7ms 2.2MB 243ms 0ms rustc 1.98.1
rust 5-m.rs 97ms 11ms 1.1MB 290ms 0ms rustc 1.98.1
rust 3-i.rs 106ms 12ms 1.1MB 93ms 0ms rustc 1.98.1
rust 1-m.rs 120ms 1.4ms 1.1MB 417ms 0ms rustc 1.98.1
rust 2-i.rs 205ms 3.1ms 1.1MB 197ms 0ms rustc 1.98.1
java 1-m.java 248ms 7.6ms 47.8MB 690ms 23ms openjdk 21.0.12
rust 1.rs 263ms 14ms 1.1MB 253ms 0ms rustc 1.98.1
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
rust 5c-m.rs 107ms 0.9ms 2.4MB 347ms 3ms rustc 1.98.1
rust 5-m.rs 125ms 2.6ms 2.4MB 427ms 0ms rustc 1.98.1
rust 1c.rs 173ms 1.3ms 1.2MB 163ms 0ms rustc 1.98.1
rust 6.rs 186ms 9.1ms 1.1MB 180ms 0ms rustc 1.98.1
rust 1.rs 213ms 3.2ms 1.1MB 200ms 0ms rustc 1.98.1
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
rust 5c-m.rs 17ms 0.0ms 2.4MB 37ms 0ms rustc 1.98.1
rust 5-m.rs 18ms 1.3ms 2.4MB 33ms 0ms rustc 1.98.1
rust 1c.rs 20ms 1.3ms 1.1MB 10ms 0ms rustc 1.98.1
rust 6.rs 21ms 1.0ms 1.1MB 10ms 0ms rustc 1.98.1
rust 1.rs 24ms 0.5ms 1.1MB 10ms 0ms rustc 1.98.1
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
rust 1.rs 1.6ms 0.3ms 1.9MB 0ms 0ms rustc 1.98.1
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
rust 8-m.rs 475ms 19ms 27.6MB 1260ms 13ms rustc 1.98.1
rust 8.rs 838ms 32ms 23.8MB 810ms 10ms rustc 1.98.1
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
rust 8-m.rs 62ms 6.2ms 16.3MB 140ms 3ms rustc 1.98.1
rust 8.rs 100ms 1.7ms 11.6MB 83ms 0ms rustc 1.98.1
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
rust 8.rs 410ms 2.4ms 4.6MB 393ms 3ms rustc 1.98.1
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
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
rust 8.rs 21ms 1.5ms 1.1MB 13ms 0ms rustc 1.98.1
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
rust 1.rs 1084ms 8.3ms 33.8MB 1060ms 10ms rustc 1.98.1
java 1.java 1091ms 23ms 952.0MB 723ms 573ms openjdk/zgc 21.0.12

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 212ms 3.5ms 9.8MB 197ms 0ms rustc 1.98.1
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

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 4-i.rs 221ms 1.1ms 1.1MB 210ms 0ms rustc 1.98.1
rust 7-i.rs 333ms 4.8ms 1.1MB 320ms 0ms rustc 1.98.1
rust 1.rs 361ms 3.0ms 1.1MB 350ms 0ms rustc 1.98.1
rust 2.rs 484ms 2.9ms 1.1MB 473ms 0ms rustc 1.98.1
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
rust 4-i.rs 24ms 0.3ms 1.1MB 17ms 0ms rustc 1.98.1
rust 7-i.rs 36ms 0.4ms 1.1MB 23ms 0ms rustc 1.98.1
rust 1.rs 39ms 0.7ms 1.1MB 30ms 0ms rustc 1.98.1
rust 2.rs 52ms 0.8ms 1.1MB 43ms 0ms rustc 1.98.1
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
rust 2.rs 656ms 18ms 6.6MB 640ms 0ms rustc 1.98.1
rust 1.rs 1035ms 16ms 40.8MB 1010ms 10ms rustc 1.98.1
java 1.java 1105ms 7.1ms 117.6MB 1193ms 27ms openjdk 21.0.12
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
rust 2.rs 129ms 12ms 2.8MB 117ms 0ms rustc 1.98.1
rust 1.rs 212ms 36ms 11.7MB 193ms 0ms rustc 1.98.1
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
rust 2.rs 2314ms 44ms 2.8MB 2230ms 70ms rustc 1.98.1
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
rust 1.rs 10361ms 53ms 3.3MB 8747ms 1587ms rustc 1.98.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 2.rs 506ms 4.3ms 2.5MB 493ms 0ms rustc 1.98.1
java 1-m.java 1639ms 92ms 421.6MB 2920ms 107ms openjdk 21.0.12
rust 1.rs 1997ms 8.8ms 2.8MB 1823ms 157ms rustc 1.98.1
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
rust 7.rs 594ms 1.7ms 80.5MB 683ms 7ms rustc 1.98.1
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

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7.rs 69ms 1.7ms 11.0MB 63ms 0ms rustc 1.98.1
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

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7-m.rs 3024ms 23ms 2.2MB 11890ms 10ms rustc 1.98.1
rust 7.rs 5535ms 8.5ms 1.1MB 5527ms 0ms rustc 1.98.1
rust 2-m.rs 5819ms 1.9ms 2.4MB 22997ms 13ms rustc 1.98.1
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
rust 2.rs 11036ms 18ms 2.1MB 11023ms 0ms rustc 1.98.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7-m.rs 747ms 2.9ms 1.1MB 2903ms 7ms rustc 1.98.1
rust 7.rs 1386ms 2.3ms 1.1MB 1377ms 0ms rustc 1.98.1
rust 2-m.rs 1459ms 0.7ms 3.1MB 5733ms 3ms rustc 1.98.1
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
rust 2.rs 2762ms 2.0ms 1.1MB 2750ms 0ms rustc 1.98.1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7-m.rs 189ms 0.4ms 3.1MB 697ms 3ms rustc 1.98.1
rust 7.rs 351ms 1.2ms 1.1MB 340ms 0ms rustc 1.98.1
rust 2-m.rs 368ms 0.3ms 1.2MB 1410ms 3ms rustc 1.98.1
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
rust 2.rs 693ms 2.4ms 1.1MB 680ms 0ms rustc 1.98.1