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

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

Python VS Crystal 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
crystal 1.cr 2516ms 29ms 57.1MB 2487ms 10ms crystal 1.11.2
python 1.py 11298ms 16ms 42.2MB 11140ms 137ms cpython 3.12.3

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 223ms 20ms 9.5MB 207ms 0ms crystal 1.11.2
python 1.py 1013ms 82ms 14.0MB 993ms 3ms cpython 3.12.3

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 2387ms 104ms 20.1MB 2310ms 60ms crystal 1.11.2
python 1.py 65184ms 117ms 29.0MB 65137ms 23ms cpython 3.12.3

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 94ms 1.2ms 7.3MB 73ms 10ms crystal 1.11.2
python 1.py 1188ms 13ms 25.0MB 1167ms 7ms cpython 3.12.3

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
python 1.py 786ms 5.0ms 15.6MB 770ms 0ms cpython 3.12.3

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
python 1.py 290ms 1.1ms 14.8MB 273ms 7ms cpython 3.12.3

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
python 5-m.py 4266ms 218ms 18.4MB 7193ms 1040ms cpython 3.12.3
python 1.py 6168ms 31ms 10.1MB 6150ms 7ms cpython 3.12.3

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
python 1.py 648ms 13ms 10.1MB 633ms 3ms cpython 3.12.3
python 5-m.py 719ms 17ms 18.5MB 943ms 193ms cpython 3.12.3

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 2.8ms 0.5ms 2.5MB 0ms 0ms crystal 1.11.2
python 1.py 24ms 2.6ms 10.2MB 16ms 0ms cpython 3.12.3

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 2680ms 37ms 40.0MB 2783ms 1070ms cpython 3.12.3
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
crystal 1.cr 1222ms 100ms 62.3MB 63ms 77ms crystal 1.11.2
python 1.py 1650ms 27ms 34.6MB 1280ms 217ms cpython 3.12.3

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 386ms 2.2ms 42.1MB 353ms 17ms cpython 3.12.3

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 2449ms 9.2ms 224.6MB 2347ms 83ms cpython 3.12.3

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 3-m.py 10152ms 192ms 39.2MB 38327ms 140ms cpython 3.12.3

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 3-m.py 1341ms 2.3ms 19.9MB 4197ms 93ms cpython 3.12.3

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 0-unsafe.cr 55ms 2.8ms 2.9MB 40ms 0ms crystal 1.11.2
crystal 1.cr 88ms 0.3ms 2.4MB 80ms 0ms crystal 1.11.2
python 1.py 1596ms 22ms 13.1MB 1573ms 3ms cpython 3.12.3
python 2.py 1925ms 15ms 10.1MB 1907ms 3ms cpython 3.12.3

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
crystal 1.cr 260ms 6.8ms 2.5MB 250ms 0ms crystal 1.11.2
python 1.py 4622ms 61ms 13.2MB 4603ms 3ms cpython 3.12.3
python 2.py 5717ms 152ms 10.2MB 5700ms 0ms cpython 3.12.3

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 0-unsafe.cr 32ms 3.0ms 2.5MB 23ms 0ms crystal 1.11.2
crystal 1.cr 47ms 2.2ms 2.5MB 37ms 0ms crystal 1.11.2
python 1.py 773ms 12ms 13.1MB 760ms 0ms cpython 3.12.3
python 2.py 941ms 8.5ms 10.1MB 927ms 0ms cpython 3.12.3

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 1329ms 15ms 65.7MB 1307ms 10ms crystal 1.11.2
python 1.py 34848ms 576ms 107.3MB 34757ms 73ms cpython 3.12.3

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 270ms 3.0ms 23.9MB 253ms 0ms crystal 1.11.2
python 1.py 5815ms 33ms 34.4MB 5790ms 7ms cpython 3.12.3

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
python 1.py 39068ms 95ms 10.2MB 39050ms 0ms cpython 3.12.3
python 2.py 41152ms 307ms 11.3MB 41133ms 0ms cpython 3.12.3

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
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
python 1.py 3811ms 20ms 10.2MB 3797ms 0ms cpython 3.12.3
python 2.py 4147ms 89ms 10.2MB 4137ms 0ms cpython 3.12.3

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
crystal 1.cr 1077ms 11ms 42.4MB 1060ms 0ms crystal 1.11.2
python 2.py 6899ms 14ms 635.1MB 6690ms 190ms cpython 3.12.3
python 1.py 16789ms 193ms 322.8MB 16707ms 63ms cpython 3.12.3

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
crystal 1.cr 210ms 7.1ms 21.0MB 197ms 0ms crystal 1.11.2
python 2.py 1734ms 18ms 166.4MB 1677ms 43ms cpython 3.12.3
python 1.py 3963ms 65ms 88.2MB 3933ms 10ms cpython 3.12.3

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 4.py 3045ms 90ms 10.4MB 3027ms 3ms cpython 3.12.3
crystal 1.cr 3508ms 129ms 5.6MB 3480ms 10ms crystal 1.11.2

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 4.py 733ms 3.8ms 10.1MB 720ms 0ms cpython 3.12.3
crystal 1.cr 831ms 12ms 4.3MB 807ms 3ms crystal 1.11.2

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 6857ms 32ms 212.7MB 6743ms 103ms cpython 3.12.3

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 793ms 3.6ms 32.5MB 763ms 10ms cpython 3.12.3

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 5558ms 72ms 10.2MB 5540ms 3ms cpython 3.12.3

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 1450ms 63ms 10.2MB 1433ms 3ms cpython 3.12.3

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 11056ms 4.8ms 3.9MB 11043ms 0ms crystal 1.11.2
python 8.py timeout (300s) — — — — cpython 3.12.3

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 2769ms 0.6ms 3.9MB 2757ms 0ms crystal 1.11.2
python 8.py timeout (120s) — — — — cpython 3.12.3

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
crystal 1.cr 699ms 4.1ms 3.5MB 687ms 0ms crystal 1.11.2
python 8-m.py 34942ms 580ms 20.5MB 135877ms 227ms cpython 3.12.3