Rust VS Java benchmarks

Current benchmark data was generated on Mon May 19 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.)

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 1.2ms 0.0ms 1.8MB 0ms 0ms rustc 1.87.0
rust 1.rs 1.7ms 0.6ms 1.8MB 0ms 0ms rustc 1.89.0-nightly
java 1.java 65ms 2.3ms 53.1MB 68ms 20ms graal/jvm 17.0.8
java 1.java 70ms 6.5ms 44.7MB 80ms 14ms openjdk 23
java 1.java 70ms 4.4ms 43.9MB 76ms 18ms openjdk 21
java 1.java 194ms 7.5ms 43.0MB 86ms 142ms openjdk/zgc 21

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 9.rs 265ms 15ms 4.9MB 253ms 0ms rustc 1.89.0-nightly
rust 8.rs 291ms 0.6ms 4.8MB 280ms 0ms rustc 1.87.0
java 1b.java 1150ms 9.6ms 55.1MB 1253ms 17ms openjdk 23
java 1b.java 1165ms 24ms 54.5MB 1277ms 20ms openjdk 21
java 1b.java 1185ms 21ms 110.0MB 1397ms 40ms graal/jvm 17.0.8
java 1.java 1259ms 14ms 133.7MB 1377ms 50ms graal/jvm 17.0.8
java 1b.java 1282ms 17ms 51.0MB 1270ms 143ms openjdk/zgc 21
java 1a.java 1658ms 5.0ms 55.8MB 1757ms 27ms openjdk 23
java 1a.java 1665ms 7.5ms 55.0MB 1773ms 17ms openjdk 21
java 1a.java 1696ms 7.7ms 102.1MB 1813ms 43ms graal/jvm 17.0.8
java 1.java 1710ms 5.3ms 266.5MB 1773ms 47ms openjdk 21
java 1.java 1716ms 3.0ms 317.2MB 1780ms 53ms openjdk 23
java 1a.java 1786ms 3.6ms 52.1MB 1770ms 140ms openjdk/zgc 21
java 1.java 2371ms 11ms 852.6MB 1813ms 670ms openjdk/zgc 21
java 2.java timeout 0.0ms 707.1MB 5343ms 120ms openjdk 21
java 2.java timeout 0.0ms 756.4MB 5333ms 133ms openjdk 23
java 2.java timeout 0.0ms 3298.5MB 3430ms 1950ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 9.rs 13ms 0.5ms 2.0MB 10ms 0ms rustc 1.89.0-nightly
rust 8.rs 14ms 0.2ms 1.9MB 10ms 0ms rustc 1.87.0
java 1b-m.java 183ms 6.1ms 49.6MB 290ms 27ms openjdk 21
java 1b-m.java 186ms 5.5ms 51.5MB 297ms 20ms openjdk 23
java 1a-m.java 191ms 4.9ms 50.8MB 290ms 23ms openjdk 21
java 1a-m.java 193ms 3.0ms 52.9MB 290ms 23ms openjdk 23
java 1-m.java 197ms 3.9ms 87.1MB 273ms 30ms openjdk 23
java 1-m.java 198ms 3.0ms 81.7MB 280ms 23ms openjdk 21
java 1-m.java 201ms 9.5ms 112.5MB 310ms 43ms graal/jvm 17.0.8
java 1a-m.java 208ms 1.3ms 98.4MB 320ms 33ms graal/jvm 17.0.8
java 1b-m.java 226ms 12ms 100.1MB 390ms 37ms graal/jvm 17.0.8
java 1b.java 307ms 6.4ms 47.4MB 300ms 140ms openjdk/zgc 21
java 1a.java 319ms 1.1ms 48.9MB 300ms 147ms openjdk/zgc 21
java 1.java 337ms 3.1ms 114.3MB 260ms 163ms openjdk/zgc 21
java 2-m.java 560ms 7.9ms 661.3MB 860ms 100ms openjdk 21
java 2-m.java 587ms 3.2ms 785.9MB 887ms 97ms openjdk 23
java 2.java 1620ms 55ms 1396.0MB 853ms 1077ms openjdk/zgc 21

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 4-i.rs 164ms 0.6ms 1.8MB 160ms 0ms rustc 1.87.0
rust 7-i.rs 218ms 0.5ms 1.8MB 210ms 0ms rustc 1.87.0
rust 1.rs 229ms 1.1ms 1.8MB 220ms 0ms rustc 1.87.0
rust 2.rs 279ms 0.0ms 1.8MB 270ms 0ms rustc 1.87.0
rust 3.rs 279ms 0.5ms 1.8MB 270ms 0ms rustc 1.89.0-nightly
java 1.java 445ms 0.4ms 45.0MB 490ms 13ms openjdk 21
java 1.java 446ms 3.8ms 48.4MB 477ms 20ms openjdk 23
java 1.java 447ms 2.3ms 82.2MB 477ms 27ms graal/jvm 17.0.8
java 1.java 577ms 2.1ms 44.8MB 497ms 140ms openjdk/zgc 21
java 2.java 1252ms 5.6ms 639.9MB 1390ms 87ms openjdk 21
java 2.java 1277ms 19ms 794.0MB 1390ms 113ms openjdk 23
java 2.java 3274ms 53ms 2445.6MB 1653ms 1830ms openjdk/zgc 21

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 4-i.rs 18ms 0.1ms 1.8MB 10ms 0ms rustc 1.87.0
rust 7-i.rs 24ms 0.4ms 1.8MB 20ms 0ms rustc 1.87.0
rust 1.rs 25ms 0.4ms 1.8MB 20ms 0ms rustc 1.87.0
rust 2.rs 30ms 0.0ms 1.6MB 20ms 0ms rustc 1.87.0
rust 3.rs 30ms 0.1ms 1.8MB 20ms 0ms rustc 1.89.0-nightly
java 1.java 120ms 4.0ms 48.0MB 153ms 20ms openjdk 23
java 1.java 122ms 2.1ms 44.9MB 167ms 13ms openjdk 21
java 1-m.java 123ms 4.2ms 81.5MB 157ms 33ms graal/jvm 17.0.8
java 1.java 249ms 3.8ms 44.9MB 157ms 147ms openjdk/zgc 21
java 2-m.java 302ms 22ms 344.8MB 437ms 53ms openjdk 21
java 2-m.java 313ms 7.2ms 400.0MB 443ms 70ms openjdk 23
java 2.java 684ms 17ms 532.7MB 467ms 407ms openjdk/zgc 21

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 493ms 0.6ms 2.5MB 1910ms 0ms rustc 1.89.0-nightly
rust 7-m.rs 493ms 0.7ms 2.1MB 1910ms 0ms rustc 1.87.0
rust 8.rs 993ms 1.0ms 2.3MB 983ms 0ms rustc 1.89.0-nightly
rust 7.rs 1961ms 4.4ms 1.9MB 1950ms 0ms rustc 1.87.0
java 2-m.java 1987ms 7.3ms 47.4MB 7587ms 27ms openjdk 21
java 2-m.java 2001ms 11ms 48.8MB 7653ms 27ms openjdk 23
rust 2-m.rs 2070ms 3.8ms 2.3MB 8130ms 10ms rustc 1.87.0
java 2-m.java 2120ms 12ms 45.2MB 7633ms 150ms openjdk/zgc 21
java 2-m.java 2521ms 48ms 94.9MB 9407ms 50ms graal/jvm 17.0.8
rust 2.rs 4266ms 1.8ms 2.1MB 4257ms 0ms rustc 1.87.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 127ms 0.5ms 2.3MB 467ms 3ms rustc 1.89.0-nightly
rust 7-m.rs 128ms 0.3ms 2.1MB 467ms 3ms rustc 1.87.0
rust 8.rs 251ms 0.6ms 2.0MB 240ms 0ms rustc 1.89.0-nightly
rust 7.rs 493ms 1.4ms 1.8MB 480ms 0ms rustc 1.87.0
rust 2-m.rs 521ms 0.9ms 2.3MB 2030ms 0ms rustc 1.87.0
java 2-m.java 605ms 4.2ms 47.7MB 2140ms 20ms openjdk 21
java 2-m.java 617ms 2.8ms 48.8MB 2187ms 20ms openjdk 23
java 2-m.java 732ms 8.1ms 45.3MB 2153ms 147ms openjdk/zgc 21
java 2-m.java 776ms 4.7ms 95.1MB 2737ms 43ms graal/jvm 17.0.8
rust 2.rs 1069ms 4.4ms 2.0MB 1063ms 0ms rustc 1.87.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 35ms 0.1ms 2.1MB 107ms 3ms rustc 1.89.0-nightly
rust 7-m.rs 36ms 0.6ms 2.0MB 113ms 0ms rustc 1.87.0
rust 8.rs 65ms 0.9ms 1.9MB 60ms 0ms rustc 1.89.0-nightly
rust 7.rs 128ms 2.5ms 1.8MB 120ms 0ms rustc 1.87.0
rust 2-m.rs 134ms 0.7ms 2.1MB 490ms 3ms rustc 1.87.0
java 2-m.java 248ms 5.2ms 47.7MB 723ms 20ms openjdk 21
java 2-m.java 267ms 4.0ms 48.4MB 787ms 20ms openjdk 23
rust 2.rs 269ms 1.2ms 1.9MB 260ms 0ms rustc 1.87.0
java 2-m.java 323ms 9.1ms 94.0MB 987ms 43ms graal/jvm 17.0.8
java 2-m.java 387ms 8.0ms 45.5MB 783ms 147ms openjdk/zgc 21

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 458ms 6.7ms 574.1MB 563ms 77ms openjdk 21
java 2-m.java 466ms 7.3ms 643.0MB 657ms 117ms graal/jvm 17.0.8
java 2.java 468ms 2.3ms 638.7MB 577ms 87ms openjdk 23
java 2.java 1195ms 46ms 1101.7MB 577ms 787ms openjdk/zgc 21
rust 4.rs 1281ms 13ms 33.8MB 1260ms 7ms rustc 1.87.0
rust 5.rs 1340ms 6.3ms 33.8MB 1317ms 10ms rustc 1.87.0
rust 3.rs 1496ms 49ms 49.8MB 1463ms 17ms rustc 1.87.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 4.rs 118ms 0.3ms 5.6MB 110ms 0ms rustc 1.87.0
java 2.java 128ms 1.6ms 167.0MB 157ms 33ms openjdk 21
rust 5.rs 128ms 5.4ms 5.8MB 117ms 0ms rustc 1.87.0
java 2.java 133ms 5.7ms 96.5MB 163ms 30ms openjdk 23
rust 3.rs 142ms 6.5ms 7.8MB 130ms 0ms rustc 1.87.0
java 2-m.java 152ms 7.0ms 215.4MB 227ms 57ms graal/jvm 17.0.8
java 2.java 308ms 9.8ms 241.5MB 170ms 193ms openjdk/zgc 21

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 3-m.rs 518ms 38ms 9.1MB 1957ms 60ms rustc 1.87.0
rust 5-m.rs 679ms 12ms 5.5MB 2580ms 67ms rustc 1.87.0
rust 1-m.rs 955ms 8.3ms 7.4MB 3497ms 227ms rustc 1.87.0
rust 3.rs 1110ms 9.5ms 9.3MB 1070ms 23ms rustc 1.87.0
rust 4.rs 1921ms 31ms 6.9MB 1903ms 0ms rustc 1.87.0
java 1-m.java 2237ms 158ms 258.9MB 8497ms 143ms openjdk 21
java 1-m.java 2494ms 200ms 242.9MB 9503ms 130ms openjdk 23
java 1-m.java 2940ms 99ms 1203.7MB 9563ms 1067ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 5-m.rs 51ms 1.1ms 3.3MB 153ms 10ms rustc 1.87.0
rust 3-m.rs 55ms 3.2ms 4.1MB 173ms 10ms rustc 1.87.0
rust 3.rs 69ms 0.8ms 4.0MB 60ms 0ms rustc 1.87.0
rust 1-m.rs 73ms 0.3ms 3.5MB 237ms 17ms rustc 1.87.0
rust 4.rs 115ms 1.2ms 3.1MB 107ms 0ms rustc 1.87.0
java 1-m.java 467ms 39ms 121.7MB 1563ms 73ms openjdk 21
java 1-m.java 480ms 45ms 94.9MB 1580ms 57ms openjdk 23
java 1-m.java 668ms 8.4ms 212.9MB 1767ms 267ms openjdk/zgc 21

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 124ms 1.5ms 3.6MB 120ms 0ms rustc 1.87.0
rust 2.rs 421ms 2.7ms 3.6MB 410ms 0ms rustc 1.87.0
java 1-m.java 603ms 8.3ms 352.7MB 1180ms 97ms graal/jvm 17.0.8
java 1-m.java 611ms 69ms 263.9MB 1673ms 67ms openjdk 21
java 1-m.java 642ms 55ms 231.5MB 1707ms 73ms openjdk 23
java 1-m.java 949ms 34ms 528.2MB 1633ms 413ms openjdk/zgc 21

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 33ms 0.7ms 2.9MB 23ms 0ms rustc 1.87.0
rust 2.rs 77ms 2.2ms 3.0MB 70ms 0ms rustc 1.87.0
java 1-m.java 305ms 0.9ms 225.8MB 607ms 63ms graal/jvm 17.0.8
java 1-m.java 330ms 3.5ms 176.0MB 903ms 50ms openjdk 21
java 1-m.java 385ms 22ms 110.7MB 1043ms 50ms openjdk 23
java 1-m.java 509ms 21ms 215.5MB 1010ms 207ms openjdk/zgc 21

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 3-im.rs 410ms 1.7ms 2.1MB 1587ms 0ms rustc 1.87.0
rust 5-m.rs 554ms 1.8ms 2.1MB 2130ms 0ms rustc 1.87.0
rust 2-im.rs 677ms 6.8ms 2.1MB 2577ms 0ms rustc 1.87.0
java 1-m.java 898ms 11ms 96.1MB 3307ms 40ms graal/jvm 17.0.8
rust 1-m.rs 937ms 1.3ms 2.1MB 3610ms 0ms rustc 1.87.0
java 1-m.java 988ms 11ms 48.3MB 3657ms 23ms openjdk 21
java 1-m.java 990ms 2.9ms 50.2MB 3640ms 27ms openjdk 23
java 1-m.java 1042ms 3.9ms 45.7MB 3403ms 137ms openjdk/zgc 21
rust 3-i.rs 1497ms 1.4ms 1.9MB 1490ms 0ms rustc 1.87.0
rust 2-i.rs 2404ms 0.4ms 1.8MB 2397ms 0ms rustc 1.87.0
rust 1.rs 2718ms 7.7ms 1.8MB 2710ms 0ms rustc 1.87.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 3-im.rs 38ms 0.2ms 2.0MB 120ms 0ms rustc 1.87.0
rust 5-m.rs 52ms 0.4ms 2.0MB 170ms 0ms rustc 1.87.0
rust 2-im.rs 61ms 2.2ms 2.0MB 200ms 0ms rustc 1.87.0
rust 1-m.rs 83ms 0.6ms 2.0MB 290ms 0ms rustc 1.87.0
rust 3-i.rs 125ms 0.5ms 1.9MB 120ms 0ms rustc 1.87.0
java 1-m.java 180ms 7.7ms 48.6MB 490ms 20ms openjdk 21
rust 2-i.rs 197ms 0.2ms 1.8MB 190ms 0ms rustc 1.87.0
java 1-m.java 198ms 0.9ms 50.3MB 520ms 23ms openjdk 23
java 1-m.java 210ms 5.5ms 95.7MB 587ms 40ms graal/jvm 17.0.8
rust 1.rs 223ms 0.9ms 1.8MB 213ms 0ms rustc 1.87.0
java 1-m.java 311ms 8.8ms 45.9MB 520ms 140ms openjdk/zgc 21

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 6.rs 88ms 2.2ms 1.9MB 80ms 0ms rustc 1.87.0
rust 5c-m.rs 88ms 0.3ms 3.4MB 240ms 0ms rustc 1.87.0
rust 5-m.rs 94ms 0.1ms 3.2MB 290ms 3ms rustc 1.87.0
rust 1c.rs 163ms 0.5ms 1.9MB 150ms 0ms rustc 1.87.0
rust 1.rs 194ms 0.9ms 2.0MB 183ms 0ms rustc 1.87.0
java 4.java 447ms 1.7ms 100.5MB 630ms 40ms graal/jvm 17.0.8
java 4.java 454ms 3.1ms 47.5MB 533ms 20ms openjdk 21
java 4.java 471ms 9.6ms 49.1MB 567ms 23ms openjdk 23
java 4.java 572ms 6.6ms 45.1MB 543ms 137ms openjdk/zgc 21

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 6.rs 11ms 0.1ms 1.9MB 0ms 0ms rustc 1.87.0
rust 5c-m.rs 15ms 0.3ms 3.2MB 20ms 0ms rustc 1.87.0
rust 5-m.rs 16ms 0.6ms 3.2MB 30ms 0ms rustc 1.87.0
rust 1c.rs 19ms 0.4ms 1.9MB 10ms 0ms rustc 1.87.0
rust 1.rs 21ms 0.3ms 1.9MB 10ms 0ms rustc 1.87.0
java 4.java 122ms 6.1ms 46.5MB 160ms 17ms openjdk 21
java 4-m.java 130ms 1.9ms 47.6MB 180ms 17ms openjdk 23
java 4-m.java 133ms 5.7ms 94.2MB 190ms 33ms graal/jvm 17.0.8
java 4.java 250ms 3.4ms 44.0MB 170ms 140ms openjdk/zgc 21

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1-m.rs 270ms 61ms 77.4MB 157ms 457ms rustc 1.87.0
rust 2-http2.rs 326ms 164ms 68.9MB 737ms 370ms rustc 1.87.0
rust 2-m.rs 345ms 31ms 71.5MB 227ms 810ms rustc 1.87.0
rust 1-http2.rs 448ms 106ms 63.1MB 1033ms 527ms rustc 1.87.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1-m.rs 36ms 6.9ms 13.5MB 10ms 53ms rustc 1.87.0
rust 2-m.rs 71ms 2.4ms 20.4MB 33ms 147ms rustc 1.87.0
rust 1-http2.rs 230ms 40ms 26.1MB 613ms 183ms rustc 1.87.0
rust 2-http2.rs 239ms 44ms 28.0MB 623ms 190ms rustc 1.87.0

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 5-i.rs 28ms 0.6ms 9.8MB 20ms 0ms rustc 1.87.0
rust 4-i.rs 30ms 0.8ms 7.9MB 20ms 0ms rustc 1.87.0
rust 2.rs 61ms 2.0ms 33.8MB 40ms 10ms rustc 1.87.0
rust 3.rs 61ms 0.0ms 32.0MB 40ms 10ms rustc 1.87.0
rust 1.rs 103ms 1.7ms 67.4MB 63ms 27ms rustc 1.87.0

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 5-i.rs 211ms 3.8ms 52.8MB 187ms 10ms rustc 1.87.0
rust 4-i.rs 261ms 3.9ms 54.5MB 207ms 43ms rustc 1.87.0
rust 2.rs 395ms 2.3ms 237.8MB 290ms 90ms rustc 1.87.0
rust 3.rs 404ms 3.8ms 237.8MB 300ms 93ms rustc 1.87.0
rust 1.rs 686ms 3.1ms 551.8MB 433ms 233ms rustc 1.87.0

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 211ms 4.2ms 27.7MB 623ms 10ms rustc 1.87.0
rust 8.rs 427ms 19ms 24.0MB 407ms 7ms rustc 1.87.0
java 3-m.java 1066ms 62ms 154.5MB 3653ms 53ms openjdk 23
java 3-m.java 1090ms 16ms 125.0MB 3730ms 50ms openjdk 21
java 3-m.java 1113ms 11ms 179.2MB 3827ms 60ms graal/jvm 17.0.8
java 3-m.java 1376ms 12ms 179.0MB 4323ms 207ms openjdk/zgc 21

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 29ms 0.6ms 15.4MB 60ms 0ms rustc 1.87.0
rust 8.rs 56ms 2.1ms 11.4MB 40ms 0ms rustc 1.87.0
java 3-m.java 327ms 29ms 99.7MB 970ms 37ms openjdk 21
java 3-m.java 336ms 17ms 104.1MB 997ms 37ms openjdk 23
java 3-m.java 347ms 30ms 135.3MB 967ms 57ms graal/jvm 17.0.8
java 3-m.java 440ms 9.5ms 98.5MB 930ms 167ms openjdk/zgc 21

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 0-unsafe.rs 35ms 7.9ms 1.8MB 27ms 0ms rustc 1.87.0
rust 1.rs 51ms 6.1ms 1.9MB 43ms 0ms rustc 1.87.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 0-unsafe.rs 139ms 28ms 1.9MB 130ms 0ms rustc 1.87.0
rust 1.rs 191ms 16ms 1.9MB 183ms 0ms rustc 1.87.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 0-unsafe.rs 24ms 1.0ms 1.8MB 17ms 0ms rustc 1.87.0
rust 1.rs 31ms 0.2ms 1.8MB 20ms 0ms rustc 1.87.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 404ms 4.9ms 534.3MB 500ms 93ms openjdk 23
java 1.java 406ms 4.3ms 679.8MB 490ms 90ms openjdk 21
java 1-m.java 408ms 8.7ms 626.3MB 617ms 97ms graal/jvm 17.0.8
rust 1.rs 698ms 4.2ms 33.8MB 673ms 10ms rustc 1.87.0
java 1.java 1026ms 1.9ms 933.9MB 487ms 690ms openjdk/zgc 21

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 153ms 2.6ms 9.8MB 143ms 0ms rustc 1.87.0
java 1-m.java 167ms 1.6ms 206.1MB 240ms 43ms openjdk 21
java 1-m.java 168ms 1.1ms 158.3MB 247ms 40ms openjdk 23
java 1-m.java 216ms 12ms 253.2MB 367ms 60ms graal/jvm 17.0.8
java 1.java 419ms 8.2ms 341.9MB 217ms 280ms openjdk/zgc 21

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 2.rs 301ms 0.2ms 6.6MB 290ms 0ms rustc 1.87.0
rust 1.rs 331ms 4.3ms 40.9MB 317ms 0ms rustc 1.87.0
java 1.java 410ms 3.5ms 115.8MB 463ms 27ms openjdk 21
java 1.java 424ms 3.9ms 118.5MB 467ms 27ms openjdk 23
java 1.java 587ms 6.0ms 112.8MB 493ms 163ms openjdk/zgc 21
java 1-m.java 644ms 25ms 236.7MB 933ms 77ms graal/jvm 17.0.8
java 2.java 782ms 3.1ms 56.9MB 837ms 17ms openjdk 21
java 2.java 786ms 9.6ms 60.5MB 840ms 20ms openjdk 23
java 2.java 847ms 3.9ms 53.2MB 777ms 143ms openjdk/zgc 21
java 2-m.java 1339ms 8.3ms 234.5MB 2410ms 100ms graal/jvm 17.0.8

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 67ms 0.1ms 11.6MB 57ms 0ms rustc 1.87.0
rust 2.rs 77ms 2.0ms 2.9MB 70ms 0ms rustc 1.87.0
java 1.java 155ms 2.3ms 68.1MB 200ms 23ms openjdk 23
java 1.java 158ms 3.5ms 64.7MB 210ms 20ms openjdk 21
java 1-m.java 210ms 6.9ms 124.8MB 297ms 47ms graal/jvm 17.0.8
java 2.java 262ms 3.1ms 50.5MB 310ms 23ms openjdk 23
java 2.java 263ms 1.2ms 50.0MB 327ms 20ms openjdk 21
java 1.java 286ms 4.1ms 61.5MB 203ms 150ms openjdk/zgc 21
java 2.java 370ms 2.8ms 47.7MB 303ms 147ms openjdk/zgc 21
java 2-m.java 470ms 6.2ms 199.2MB 830ms 63ms graal/jvm 17.0.8

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 1529ms 17ms 2.7MB 1310ms 203ms rustc 1.87.0
rust 2.rs 1712ms 5.2ms 2.7MB 1627ms 70ms rustc 1.87.0
java 1.java 3209ms 4.7ms 445.5MB 3633ms 100ms graal/jvm 17.0.8
java 1.java 3722ms 68ms 433.0MB 4600ms 107ms openjdk 21
java 1.java 3750ms 35ms 408.8MB 4670ms 107ms openjdk 23
java 1.java timeout 0.0ms 1830.0MB 4663ms 1203ms openjdk/zgc 21

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 321ms 3.7ms 2.4MB 297ms 10ms rustc 1.87.0
rust 2.rs 385ms 5.9ms 2.4MB 377ms 0ms rustc 1.87.0
java 1.java 888ms 5.7ms 448.3MB 1230ms 87ms graal/jvm 17.0.8
java 1-m.java 985ms 9.3ms 423.2MB 1833ms 87ms openjdk 21
java 1-m.java 1005ms 39ms 488.4MB 1760ms 110ms openjdk 23
java 1.java 1983ms 5.7ms 1312.1MB 1770ms 1033ms openjdk/zgc 21

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7.rs 442ms 2.7ms 78.6MB 453ms 17ms rustc 1.87.0
java 3.java timeout 0.0ms 399.2MB 5400ms 90ms graal/jvm 17.0.8
java 3.java timeout 0.0ms 302.2MB 5327ms 60ms openjdk 21
java 3.java timeout 0.0ms 305.0MB 5323ms 63ms openjdk 23
java 3.java timeout 0.0ms 468.6MB 4970ms 293ms openjdk/zgc 21

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7.rs 51ms 0.8ms 11.6MB 43ms 3ms rustc 1.87.0
java 3-m.java 772ms 8.0ms 176.1MB 1150ms 57ms graal/jvm 17.0.8
java 3-m.java 798ms 9.3ms 128.8MB 1187ms 37ms openjdk 21
java 3-m.java 805ms 18ms 132.4MB 1233ms 43ms openjdk 23
java 3.java 985ms 10ms 133.8MB 1160ms 190ms openjdk/zgc 21

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 0.rs 117ms 2.1ms 1.8MB 110ms 0ms rustc 1.87.0
rust 1.rs 1448ms 50ms 1.9MB 1437ms 0ms rustc 1.87.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 0.rs 31ms 0.7ms 1.8MB 23ms 0ms rustc 1.87.0
rust 1.rs 357ms 4.0ms 1.9MB 347ms 0ms rustc 1.87.0