Rust VS Java benchmarks

Current benchmark data was generated on Sun Dec 01 2024, 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.3ms 0.0ms 1.8MB 0ms 0ms rustc 1.83.0
rust 1.rs 1.3ms 0.0ms 1.8MB 0ms 0ms rustc 1.85.0-nightly
java 1.java 68ms 3.0ms 59.0MB 70ms 20ms graal/jvm 17.0.8
java 1.java 73ms 4.6ms 44.8MB 74ms 22ms openjdk 23
java 1.java 77ms 1.6ms 43.8MB 76ms 20ms openjdk 21
java 1.java 187ms 4.1ms 44.6MB 82ms 128ms openjdk/zgc 21

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 9.rs 253ms 8.3ms 4.8MB 240ms 0ms rustc 1.85.0-nightly
rust 8.rs 308ms 1.6ms 4.9MB 300ms 0ms rustc 1.83.0
java 1b.java 1164ms 9.6ms 54.3MB 1273ms 23ms openjdk 21
java 1b.java 1171ms 5.3ms 55.9MB 1297ms 20ms openjdk 23
java 1b.java 1181ms 39ms 108.6MB 1363ms 33ms graal/jvm 17.0.8
java 1.java 1260ms 13ms 139.9MB 1367ms 57ms graal/jvm 17.0.8
java 1b.java 1278ms 21ms 51.4MB 1277ms 130ms openjdk/zgc 21
java 1a.java 1654ms 9.2ms 54.9MB 1747ms 27ms openjdk 21
java 1a.java 1665ms 2.2ms 55.5MB 1770ms 27ms openjdk 23
java 1a.java 1688ms 16ms 105.6MB 1807ms 37ms graal/jvm 17.0.8
java 1.java 1701ms 1.3ms 202.3MB 1780ms 37ms openjdk 21
java 1.java 1709ms 2.1ms 314.7MB 1770ms 53ms openjdk 23
java 1a.java 1780ms 5.2ms 53.7MB 1753ms 147ms openjdk/zgc 21
java 1.java 2351ms 5.1ms 853.8MB 1813ms 637ms openjdk/zgc 21
java 2.java timeout 0.0ms 606.2MB 5250ms 140ms openjdk 21
java 2.java timeout 0.0ms 772.9MB 5320ms 140ms openjdk 23
java 2.java timeout 0.0ms 3284.3MB 3460ms 1913ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 9.rs 13ms 0.2ms 2.0MB 0ms 0ms rustc 1.85.0-nightly
rust 8.rs 15ms 0.2ms 1.9MB 10ms 0ms rustc 1.83.0
java 1b-m.java 181ms 13ms 49.6MB 290ms 20ms openjdk 21
java 1.java 196ms 12ms 82.1MB 267ms 27ms openjdk 21
java 1b-m.java 198ms 8.9ms 51.2MB 310ms 20ms openjdk 23
java 1a-m.java 199ms 3.5ms 50.3MB 310ms 17ms openjdk 21
java 1-m.java 200ms 2.7ms 87.0MB 277ms 33ms openjdk 23
java 1a-m.java 201ms 5.5ms 52.1MB 303ms 20ms openjdk 23
java 1-m.java 204ms 14ms 115.4MB 317ms 40ms graal/jvm 17.0.8
java 1a-m.java 211ms 6.8ms 102.6MB 307ms 50ms graal/jvm 17.0.8
java 1b-m.java 233ms 15ms 104.0MB 400ms 40ms graal/jvm 17.0.8
java 1b.java 308ms 1.6ms 49.4MB 303ms 137ms openjdk/zgc 21
java 1a.java 315ms 3.0ms 49.9MB 300ms 133ms openjdk/zgc 21
java 1.java 338ms 4.9ms 116.4MB 270ms 160ms openjdk/zgc 21
java 2-m.java 579ms 14ms 826.3MB 843ms 127ms openjdk 23
java 2-m.java 621ms 39ms 586.7MB 887ms 127ms openjdk 21
java 2.java 1590ms 18ms 1349.9MB 863ms 1037ms openjdk/zgc 21

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 4-i.rs 165ms 3.7ms 1.9MB 153ms 0ms rustc 1.83.0
rust 7-i.rs 236ms 0.8ms 1.8MB 227ms 0ms rustc 1.83.0
rust 1.rs 238ms 0.5ms 1.8MB 230ms 0ms rustc 1.83.0
rust 2.rs 279ms 0.3ms 1.8MB 267ms 0ms rustc 1.83.0
rust 3.rs 280ms 0.4ms 1.9MB 270ms 0ms rustc 1.85.0-nightly
java 1.java 443ms 2.2ms 45.3MB 480ms 13ms openjdk 21
java 1.java 448ms 1.5ms 48.5MB 483ms 20ms openjdk 23
java 1.java 450ms 4.6ms 83.3MB 477ms 30ms graal/jvm 17.0.8
java 1.java 569ms 1.3ms 46.9MB 493ms 137ms openjdk/zgc 21
java 2.java 1248ms 2.9ms 611.8MB 1370ms 97ms openjdk 21
java 2.java 1255ms 4.8ms 780.5MB 1383ms 97ms openjdk 23
java 2.java 3283ms 56ms 2413.4MB 1647ms 1847ms openjdk/zgc 21

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 4-i.rs 19ms 0.4ms 1.8MB 10ms 0ms rustc 1.83.0
rust 1.rs 26ms 0.1ms 1.8MB 17ms 0ms rustc 1.83.0
rust 7-i.rs 26ms 0.2ms 1.8MB 13ms 0ms rustc 1.83.0
rust 2.rs 30ms 0.1ms 1.8MB 20ms 0ms rustc 1.83.0
rust 3.rs 30ms 0.2ms 1.9MB 20ms 0ms rustc 1.85.0-nightly
java 1.java 120ms 2.1ms 87.3MB 137ms 37ms graal/jvm 17.0.8
java 1.java 121ms 1.0ms 45.4MB 163ms 17ms openjdk 21
java 1.java 123ms 1.3ms 48.3MB 157ms 13ms openjdk 23
java 1.java 245ms 0.4ms 44.9MB 160ms 140ms openjdk/zgc 21
java 2-m.java 307ms 2.9ms 343.0MB 450ms 57ms openjdk 21
java 2-m.java 313ms 5.4ms 387.7MB 447ms 67ms openjdk 23
java 2.java 704ms 8.8ms 536.4MB 473ms 420ms 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 498ms 0.9ms 6.5MB 1900ms 7ms rustc 1.85.0-nightly
rust 7-m.rs 498ms 1.8ms 4.2MB 1907ms 10ms rustc 1.83.0
rust 8.rs 1016ms 12ms 2.5MB 1003ms 0ms rustc 1.85.0-nightly
java 2-m.java 1952ms 6.8ms 47.7MB 7430ms 20ms openjdk 21
rust 2-m.rs 1952ms 2.2ms 6.2MB 7643ms 0ms rustc 1.83.0
java 2-m.java 1972ms 7.8ms 48.4MB 7477ms 27ms openjdk 23
java 2-m.java 2092ms 3.1ms 45.2MB 7480ms 157ms openjdk/zgc 21
rust 7.rs 2122ms 22ms 1.9MB 2117ms 0ms rustc 1.83.0
java 2-m.java 2443ms 23ms 101.0MB 8710ms 50ms graal/jvm 17.0.8
rust 2.rs 4203ms 9.7ms 2.0MB 4193ms 0ms rustc 1.83.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 128ms 0.4ms 6.2MB 470ms 3ms rustc 1.85.0-nightly
rust 7-m.rs 129ms 0.5ms 6.1MB 463ms 7ms rustc 1.83.0
rust 8.rs 255ms 1.5ms 2.3MB 243ms 0ms rustc 1.85.0-nightly
rust 2-m.rs 492ms 0.5ms 4.1MB 1890ms 0ms rustc 1.83.0
rust 7.rs 530ms 4.7ms 1.8MB 523ms 0ms rustc 1.83.0
java 2-m.java 595ms 4.1ms 49.1MB 2077ms 30ms openjdk 23
java 2-m.java 595ms 6.5ms 47.6MB 2087ms 20ms openjdk 21
java 2-m.java 718ms 4.6ms 47.3MB 2043ms 143ms openjdk/zgc 21
java 2-m.java 738ms 17ms 99.2MB 2487ms 33ms graal/jvm 17.0.8
rust 2.rs 1051ms 1.9ms 1.9MB 1040ms 0ms rustc 1.83.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7-m.rs 36ms 0.2ms 4.1MB 107ms 0ms rustc 1.83.0
rust 8-m.rs 36ms 0.5ms 4.1MB 117ms 0ms rustc 1.85.0-nightly
rust 8.rs 66ms 0.3ms 2.0MB 57ms 0ms rustc 1.85.0-nightly
rust 2-m.rs 127ms 0.6ms 4.1MB 457ms 7ms rustc 1.83.0
rust 7.rs 135ms 2.0ms 1.8MB 127ms 0ms rustc 1.83.0
java 2-m.java 238ms 1.1ms 47.6MB 670ms 33ms openjdk 21
java 2-m.java 246ms 2.6ms 48.9MB 710ms 23ms openjdk 23
rust 2.rs 266ms 1.0ms 1.9MB 253ms 0ms rustc 1.83.0
java 2-m.java 277ms 22ms 96.4MB 793ms 27ms graal/jvm 17.0.8
java 2-m.java 370ms 2.2ms 47.2MB 717ms 143ms openjdk/zgc 21

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 471ms 5.6ms 648.0MB 570ms 103ms openjdk 23
java 2-m.java 482ms 17ms 645.0MB 687ms 103ms graal/jvm 17.0.8
java 2.java 530ms 1.5ms 571.1MB 573ms 137ms openjdk 21
java 2.java 1186ms 22ms 1052.1MB 590ms 767ms openjdk/zgc 21
rust 4.rs 1251ms 6.0ms 33.8MB 1233ms 7ms rustc 1.83.0
rust 5.rs 1378ms 31ms 33.8MB 1357ms 10ms rustc 1.83.0
rust 3.rs 1482ms 30ms 49.8MB 1443ms 23ms rustc 1.83.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 5.rs 123ms 0.3ms 5.8MB 110ms 0ms rustc 1.83.0
java 2.java 128ms 1.7ms 166.9MB 153ms 33ms openjdk 21
rust 4.rs 129ms 19ms 5.8MB 120ms 0ms rustc 1.83.0
java 2.java 130ms 5.1ms 98.0MB 157ms 37ms openjdk 23
rust 3.rs 142ms 4.7ms 7.8MB 130ms 0ms rustc 1.83.0
java 2-m.java 157ms 17ms 230.2MB 233ms 53ms graal/jvm 17.0.8
java 2.java 309ms 7.0ms 243.6MB 153ms 207ms 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 551ms 82ms 11.1MB 2080ms 57ms rustc 1.83.0
rust 5-m.rs 656ms 59ms 7.5MB 2470ms 83ms rustc 1.83.0
rust 1-m.rs 1003ms 5.2ms 10.4MB 3537ms 357ms rustc 1.83.0
rust 3.rs 1139ms 24ms 9.3MB 1087ms 37ms rustc 1.83.0
java 1-m.java 1892ms 152ms 260.4MB 7077ms 137ms openjdk 21
rust 4.rs 1910ms 26ms 7.5MB 1897ms 0ms rustc 1.83.0
java 1-m.java 2285ms 225ms 241.9MB 8653ms 137ms openjdk 23
java 1-m.java 2814ms 339ms 1205.1MB 8973ms 1127ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 3-m.rs 55ms 3.7ms 6.2MB 163ms 13ms rustc 1.83.0
rust 5-m.rs 57ms 9.9ms 7.2MB 147ms 17ms rustc 1.83.0
rust 3.rs 72ms 3.4ms 4.0MB 57ms 0ms rustc 1.83.0
rust 1-m.rs 84ms 2.4ms 5.8MB 257ms 40ms rustc 1.83.0
rust 4.rs 114ms 0.3ms 3.4MB 103ms 0ms rustc 1.83.0
java 1-m.java 407ms 11ms 119.1MB 1330ms 63ms openjdk 21
java 1-m.java 425ms 21ms 91.8MB 1383ms 57ms openjdk 23
java 1-m.java 663ms 29ms 209.0MB 1780ms 253ms openjdk/zgc 21

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 115ms 0.3ms 3.6MB 100ms 0ms rustc 1.83.0
rust 2.rs 414ms 5.1ms 3.5MB 400ms 0ms rustc 1.83.0
java 1-m.java 586ms 39ms 264.1MB 1630ms 67ms openjdk 21
java 1-m.java 603ms 30ms 227.8MB 1633ms 67ms openjdk 23
java 1-m.java 623ms 39ms 404.3MB 1197ms 110ms graal/jvm 17.0.8
java 1-m.java 944ms 27ms 514.3MB 1567ms 430ms 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 20ms 0ms rustc 1.83.0
rust 2.rs 76ms 1.6ms 3.0MB 67ms 0ms rustc 1.83.0
java 1-m.java 299ms 8.0ms 230.9MB 583ms 73ms graal/jvm 17.0.8
java 1-m.java 343ms 18ms 178.5MB 930ms 43ms openjdk 21
java 1-m.java 394ms 8.3ms 112.4MB 1053ms 53ms openjdk 23
java 1-m.java 493ms 2.1ms 215.3MB 953ms 217ms 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 413ms 6.2ms 4.0MB 1573ms 0ms rustc 1.83.0
rust 5-m.rs 567ms 6.5ms 4.0MB 2143ms 3ms rustc 1.83.0
rust 2-im.rs 629ms 1.2ms 6.0MB 2387ms 0ms rustc 1.83.0
java 1-m.java 897ms 23ms 100.1MB 3263ms 53ms graal/jvm 17.0.8
java 1-m.java 965ms 57ms 50.0MB 3537ms 20ms openjdk 23
java 1-m.java 983ms 6.8ms 49.0MB 3597ms 37ms openjdk 21
rust 1-m.rs 997ms 11ms 6.0MB 3850ms 0ms rustc 1.83.0
java 1-m.java 1043ms 9.0ms 46.1MB 3407ms 143ms openjdk/zgc 21
rust 3-i.rs 1489ms 1.2ms 1.9MB 1480ms 0ms rustc 1.83.0
rust 2-i.rs 1754ms 1.4ms 1.8MB 1740ms 0ms rustc 1.83.0
rust 1.rs 2669ms 15ms 1.8MB 2657ms 0ms rustc 1.83.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 3-im.rs 38ms 0.3ms 4.0MB 117ms 3ms rustc 1.83.0
rust 5-m.rs 56ms 0.8ms 6.0MB 170ms 0ms rustc 1.83.0
rust 2-im.rs 62ms 1.1ms 6.0MB 200ms 0ms rustc 1.83.0
rust 1-m.rs 88ms 1.9ms 6.0MB 307ms 0ms rustc 1.83.0
rust 3-i.rs 124ms 0.4ms 1.9MB 117ms 0ms rustc 1.83.0
rust 2-i.rs 149ms 0.8ms 1.8MB 140ms 0ms rustc 1.83.0
java 1-m.java 180ms 5.5ms 48.5MB 493ms 23ms openjdk 21
java 1-m.java 194ms 5.8ms 50.1MB 480ms 23ms openjdk 23
java 1-m.java 202ms 11ms 101.4MB 547ms 33ms graal/jvm 17.0.8
rust 1.rs 223ms 0.6ms 1.8MB 210ms 0ms rustc 1.83.0
java 1-m.java 295ms 2.3ms 45.7MB 483ms 137ms openjdk/zgc 21

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 5c-m.rs 91ms 2.5ms 4.8MB 240ms 7ms rustc 1.83.0
rust 5-m.rs 98ms 0.2ms 6.5MB 320ms 0ms rustc 1.83.0
rust 1c.rs 162ms 0.1ms 1.9MB 150ms 0ms rustc 1.83.0
rust 1.rs 193ms 1.6ms 1.9MB 180ms 0ms rustc 1.83.0
java 4.java 457ms 0.7ms 47.4MB 543ms 20ms openjdk 21
java 4-m.java 462ms 19ms 104.6MB 670ms 43ms graal/jvm 17.0.8
java 4.java 466ms 9.2ms 49.3MB 567ms 17ms openjdk 23
java 4.java 568ms 6.1ms 47.0MB 550ms 133ms openjdk/zgc 21

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 5c-m.rs 16ms 0.2ms 4.8MB 20ms 3ms rustc 1.83.0
rust 5-m.rs 17ms 0.2ms 4.8MB 30ms 0ms rustc 1.83.0
rust 1c.rs 19ms 0.2ms 1.9MB 10ms 0ms rustc 1.83.0
rust 1.rs 22ms 0.3ms 1.9MB 10ms 0ms rustc 1.83.0
java 4-m.java 124ms 4.1ms 87.9MB 163ms 30ms graal/jvm 17.0.8
java 4.java 127ms 1.0ms 46.1MB 170ms 17ms openjdk 21
java 4.java 132ms 2.0ms 47.8MB 177ms 17ms openjdk 23
java 4.java 241ms 3.8ms 43.8MB 153ms 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 289ms 71ms 44.1MB 103ms 333ms rustc 1.83.0
rust 2-http2.rs 382ms 68ms 77.9MB 630ms 457ms rustc 1.83.0
rust 1-http2.rs 461ms 79ms 78.1MB 593ms 710ms rustc 1.83.0
rust 2-m.rs 461ms 71ms 86.0MB 200ms 843ms rustc 1.83.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 83ms 4.0ms 17.5MB 30ms 67ms rustc 1.83.0
rust 2-m.rs 123ms 6.6ms 32.0MB 43ms 167ms rustc 1.83.0
rust 1-http2.rs 191ms 24ms 28.3MB 353ms 157ms rustc 1.83.0
rust 2-http2.rs 194ms 25ms 33.2MB 373ms 157ms rustc 1.83.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 1.0ms 9.8MB 17ms 0ms rustc 1.83.0
rust 4-i.rs 31ms 0.8ms 7.9MB 13ms 3ms rustc 1.83.0
rust 3.rs 61ms 0.9ms 33.8MB 37ms 7ms rustc 1.83.0
rust 2.rs 63ms 1.2ms 35.5MB 40ms 7ms rustc 1.83.0
rust 1.rs 101ms 2.1ms 69.3MB 63ms 23ms rustc 1.83.0

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 5-i.rs 207ms 0.4ms 52.8MB 180ms 10ms rustc 1.83.0
rust 4-i.rs 265ms 7.0ms 54.4MB 203ms 47ms rustc 1.83.0
rust 3.rs 403ms 2.5ms 238.3MB 303ms 87ms rustc 1.83.0
rust 2.rs 412ms 4.8ms 237.8MB 310ms 83ms rustc 1.83.0
rust 1.rs 692ms 5.4ms 551.6MB 440ms 237ms rustc 1.83.0

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 226ms 10ms 30.0MB 647ms 17ms rustc 1.83.0
rust 8.rs 503ms 36ms 23.9MB 480ms 7ms rustc 1.83.0
java 3-m.java 992ms 16ms 155.1MB 3317ms 67ms openjdk 23
java 3-m.java 1000ms 78ms 127.5MB 3403ms 30ms openjdk 21
java 3-m.java 1150ms 14ms 183.6MB 3873ms 70ms graal/jvm 17.0.8
java 3-m.java 1444ms 61ms 180.9MB 4577ms 197ms openjdk/zgc 21

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 8-m.rs 34ms 1.4ms 15.7MB 63ms 3ms rustc 1.83.0
rust 8.rs 60ms 0.3ms 11.5MB 47ms 3ms rustc 1.83.0
java 3-m.java 332ms 16ms 101.3MB 963ms 43ms openjdk 21
java 3-m.java 345ms 27ms 89.8MB 977ms 67ms openjdk 23
java 3-m.java 361ms 32ms 141.0MB 980ms 53ms graal/jvm 17.0.8
java 3-m.java 440ms 3.1ms 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 42ms 1.1ms 1.9MB 30ms 0ms rustc 1.83.0
rust 1.rs 51ms 4.9ms 2.0MB 43ms 0ms rustc 1.83.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 0-unsafe.rs 156ms 1.9ms 1.9MB 150ms 0ms rustc 1.83.0
rust 1.rs 197ms 16ms 2.0MB 187ms 0ms rustc 1.83.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 0-unsafe.rs 26ms 0.5ms 1.9MB 20ms 0ms rustc 1.83.0
rust 1.rs 29ms 0.7ms 1.9MB 20ms 0ms rustc 1.83.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 401ms 2.9ms 679.9MB 473ms 90ms openjdk 21
java 1.java 405ms 5.1ms 539.3MB 507ms 87ms openjdk 23
java 1-m.java 417ms 30ms 635.2MB 610ms 123ms graal/jvm 17.0.8
rust 1.rs 697ms 5.9ms 33.8MB 670ms 13ms rustc 1.83.0
java 1.java 1094ms 19ms 989.4MB 447ms 767ms openjdk/zgc 21

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 150ms 2.8ms 9.8MB 137ms 0ms rustc 1.83.0
java 1-m.java 166ms 3.4ms 159.1MB 243ms 40ms openjdk 23
java 1-m.java 166ms 2.4ms 206.3MB 243ms 40ms openjdk 21
java 1-m.java 225ms 28ms 258.5MB 380ms 57ms graal/jvm 17.0.8
java 1.java 442ms 45ms 341.6MB 223ms 290ms openjdk/zgc 21

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 308ms 10.0ms 40.9MB 293ms 0ms rustc 1.83.0
rust 2.rs 317ms 3.1ms 6.6MB 303ms 0ms rustc 1.83.0
java 1.java 420ms 1.7ms 118.1MB 460ms 20ms openjdk 23
java 1.java 432ms 8.9ms 115.2MB 487ms 20ms openjdk 21
java 1.java 604ms 2.3ms 112.6MB 513ms 163ms openjdk/zgc 21
java 1-m.java 703ms 85ms 239.9MB 1043ms 80ms graal/jvm 17.0.8
java 2.java 781ms 3.3ms 60.6MB 833ms 13ms openjdk 23
java 2.java 789ms 8.6ms 57.0MB 850ms 20ms openjdk 21
java 2.java 844ms 0.9ms 55.1MB 773ms 147ms openjdk/zgc 21
java 2-m.java 1312ms 74ms 240.5MB 2287ms 103ms graal/jvm 17.0.8

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 63ms 4.7ms 11.6MB 50ms 0ms rustc 1.83.0
rust 2.rs 82ms 0.9ms 2.9MB 70ms 0ms rustc 1.83.0
java 1.java 158ms 0.5ms 68.0MB 200ms 23ms openjdk 23
java 1.java 164ms 12ms 64.9MB 210ms 27ms openjdk 21
java 1-m.java 247ms 12ms 144.7MB 343ms 60ms graal/jvm 17.0.8
java 2.java 260ms 4.2ms 50.2MB 320ms 23ms openjdk 21
java 2.java 264ms 2.9ms 50.4MB 313ms 23ms openjdk 23
java 1.java 288ms 1.8ms 61.6MB 210ms 147ms openjdk/zgc 21
java 2.java 368ms 4.5ms 49.4MB 317ms 130ms openjdk/zgc 21
java 2-m.java 474ms 5.2ms 194.3MB 823ms 70ms 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 1519ms 2.0ms 2.8MB 1257ms 243ms rustc 1.83.0
rust 2.rs 1706ms 6.4ms 2.8MB 1613ms 73ms rustc 1.83.0
java 1.java 3200ms 37ms 447.4MB 3680ms 97ms graal/jvm 17.0.8
java 1.java 3677ms 90ms 388.1MB 4527ms 123ms openjdk 23
java 1.java 3700ms 76ms 423.2MB 4547ms 120ms openjdk 21
java 1.java timeout 0.0ms 2012.2MB 4660ms 1187ms openjdk/zgc 21

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 320ms 1.6ms 2.4MB 290ms 17ms rustc 1.83.0
rust 2.rs 379ms 3.1ms 2.5MB 360ms 3ms rustc 1.83.0
java 1-m.java 918ms 18ms 448.8MB 1310ms 90ms graal/jvm 17.0.8
java 1-m.java 1015ms 31ms 352.4MB 1803ms 90ms openjdk 21
java 1-m.java 1038ms 10ms 370.6MB 1787ms 90ms openjdk 23
java 1.java 2036ms 48ms 1391.2MB 1720ms 1087ms 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 433ms 4.1ms 80.3MB 443ms 10ms rustc 1.83.0
java 3.java timeout 0.0ms 408.6MB 5413ms 107ms graal/jvm 17.0.8
java 3.java timeout 0.0ms 302.3MB 5323ms 63ms openjdk 21
java 3.java timeout 0.0ms 304.9MB 5340ms 50ms openjdk 23
java 3.java timeout 0.0ms 469.2MB 4963ms 290ms openjdk/zgc 21

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 7.rs 51ms 1.4ms 13.3MB 40ms 3ms rustc 1.83.0
java 3-m.java 799ms 12ms 133.4MB 1223ms 20ms openjdk 21
java 3-m.java 812ms 4.9ms 182.3MB 1223ms 57ms graal/jvm 17.0.8
java 3-m.java 825ms 12ms 132.6MB 1253ms 30ms openjdk 23
java 3.java 988ms 40ms 134.2MB 1170ms 193ms openjdk/zgc 21

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 0.rs 118ms 1.7ms 1.8MB 107ms 0ms rustc 1.83.0
rust 1.rs 1413ms 13ms 2.0MB 1397ms 0ms rustc 1.83.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 0.rs 32ms 1.6ms 1.9MB 23ms 0ms rustc 1.83.0
rust 1.rs 355ms 3.7ms 1.9MB 343ms 0ms rustc 1.83.0