Results for 38 of 40 languages from this run on actest1.

Unavailable in this run: Hack, Lisp. Follow the run link for failure details.

Crystal 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
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
crystal 1.cr 2516ms 29ms 57.1MB 2487ms 10ms crystal 1.11.2

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
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
crystal 1.cr 223ms 20ms 9.5MB 207ms 0ms crystal 1.11.2

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
crystal 1.cr 2387ms 104ms 20.1MB 2310ms 60ms crystal 1.11.2
rust 4.rs 3680ms 17ms 7.3MB 3663ms 3ms rustc 1.98.1

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
crystal 1.cr 94ms 1.2ms 7.3MB 73ms 10ms crystal 1.11.2
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

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 100ms 23ms 7.2MB 83ms 3ms crystal 1.11.2
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

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 33ms 2.6ms 4.9MB 20ms 0ms crystal 1.11.2
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

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
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
crystal 1.cr 3642ms 13ms 2.5MB 3633ms 0ms crystal 1.11.2

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
rust 1.rs 263ms 14ms 1.1MB 253ms 0ms rustc 1.98.1
crystal 1.cr 295ms 1.0ms 2.5MB 280ms 0ms crystal 1.11.2

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
crystal 2.cr 622ms 5.2ms 2.9MB 493ms 110ms crystal 1.11.2
crystal 1.cr 864ms 8.7ms 14.1MB 743ms 100ms crystal 1.11.2

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
crystal 2.cr 78ms 5.8ms 2.9MB 57ms 10ms crystal 1.11.2
crystal 1.cr 94ms 2.3ms 4.0MB 70ms 7ms crystal 1.11.2

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
crystal 1.cr 2.8ms 0.5ms 2.5MB 0ms 0ms crystal 1.11.2

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1-m.rs 402ms 47ms 74.0MB 273ms 500ms rustc 1.98.1
rust 2-m.rs 637ms 65ms 66.2MB 390ms 877ms rustc 1.98.1
rust 2-http2.rs 728ms 174ms 57.0MB 1683ms 507ms rustc 1.98.1
rust 1-http2.rs 737ms 86ms 68.5MB 1713ms 540ms rustc 1.98.1
crystal 1.cr 4232ms 927ms 223.2MB 540ms 507ms crystal 1.11.2

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 129ms 6.7ms 17.4MB 43ms 57ms rustc 1.98.1
rust 2.rs 210ms 23ms 22.9MB 63ms 180ms rustc 1.98.1
rust 1-http2.rs 331ms 74ms 24.4MB 653ms 137ms rustc 1.98.1
rust 2-http2.rs 556ms 55ms 30.7MB 1503ms 173ms rustc 1.98.1
crystal 1.cr 1222ms 100ms 62.3MB 63ms 77ms crystal 1.11.2

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 0-unsafe.rs 44ms 3.1ms 1.1MB 33ms 0ms rustc 1.98.1
crystal 0-unsafe.cr 55ms 2.8ms 2.9MB 40ms 0ms crystal 1.11.2
rust 1.rs 70ms 7.9ms 1.1MB 60ms 0ms rustc 1.98.1
crystal 1.cr 88ms 0.3ms 2.4MB 80ms 0ms crystal 1.11.2

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 0-unsafe.cr 155ms 2.1ms 2.5MB 147ms 0ms crystal 1.11.2
rust 0-unsafe.rs 202ms 23ms 1.1MB 193ms 0ms rustc 1.98.1
crystal 1.cr 260ms 6.8ms 2.5MB 250ms 0ms crystal 1.11.2
rust 1.rs 280ms 31ms 1.1MB 270ms 0ms rustc 1.98.1

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 0-unsafe.rs 28ms 0.2ms 1.2MB 20ms 0ms rustc 1.98.1
crystal 0-unsafe.cr 32ms 3.0ms 2.5MB 23ms 0ms crystal 1.11.2
rust 1.rs 46ms 2.5ms 1.1MB 37ms 0ms rustc 1.98.1
crystal 1.cr 47ms 2.2ms 2.5MB 37ms 0ms crystal 1.11.2

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
crystal 1.cr 507ms 1.0ms 9.4MB 493ms 0ms crystal 1.11.2

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
crystal 1.cr 27ms 0.6ms 6.1MB 20ms 0ms crystal 1.11.2

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
rust 1.rs 1084ms 8.3ms 33.8MB 1060ms 10ms rustc 1.98.1
crystal 1.cr 1329ms 15ms 65.7MB 1307ms 10ms crystal 1.11.2

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
crystal 1.cr 270ms 3.0ms 23.9MB 253ms 0ms crystal 1.11.2

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
crystal 2.cr 632ms 1.1ms 3.0MB 620ms 0ms crystal 1.11.2
crystal 1.cr 636ms 6.6ms 3.0MB 623ms 0ms crystal 1.11.2

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
crystal 2.cr 68ms 0.7ms 3.0MB 57ms 0ms crystal 1.11.2
crystal 1.cr 68ms 2.8ms 3.0MB 60ms 0ms crystal 1.11.2

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 2.cr 597ms 9.0ms 11.8MB 580ms 0ms crystal 1.11.2
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
crystal 1.cr 1077ms 11ms 42.4MB 1060ms 0ms crystal 1.11.2

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 2.cr 116ms 1.9ms 5.3MB 100ms 0ms crystal 1.11.2
rust 2.rs 129ms 12ms 2.8MB 117ms 0ms rustc 1.98.1
crystal 1.cr 210ms 7.1ms 21.0MB 197ms 0ms crystal 1.11.2
rust 1.rs 212ms 36ms 11.7MB 193ms 0ms rustc 1.98.1

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
crystal 1.cr 3508ms 129ms 5.6MB 3480ms 10ms crystal 1.11.2
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
crystal 1.cr 831ms 12ms 4.3MB 807ms 3ms crystal 1.11.2
rust 1.rs 1997ms 8.8ms 2.8MB 1823ms 157ms rustc 1.98.1

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
rust 2.rs 11036ms 18ms 2.1MB 11023ms 0ms rustc 1.98.1
crystal 1.cr 11056ms 4.8ms 3.9MB 11043ms 0ms crystal 1.11.2

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
rust 2.rs 2762ms 2.0ms 1.1MB 2750ms 0ms rustc 1.98.1
crystal 1.cr 2769ms 0.6ms 3.9MB 2757ms 0ms crystal 1.11.2

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
rust 2.rs 693ms 2.4ms 1.1MB 680ms 0ms rustc 1.98.1
crystal 1.cr 699ms 4.1ms 3.5MB 687ms 0ms crystal 1.11.2