Current benchmark data was generated on Mon Apr 14 2025, full log can be found HERE
CONTRIBUTIONS are WELCOME!
* -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.)
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 1.py | 1213ms | 9.6ms | 96.3MB | 1153ms | 47ms | pypy 3.10.16 |
crystal | 1.cr | 1247ms | 8.3ms | 64.0MB | 1223ms | 13ms | crystal 1.16.0 |
python | 1.py | timeout | 0.0ms | 40.9MB | 4967ms | 17ms | cpython 3.13.3 |
python | 1.py | timeout | 0.0ms | 40.5MB | 4760ms | 227ms | pyston 3.8.12 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 1.py | 97ms | 0.7ms | 68.7MB | 70ms | 20ms | pypy 3.10.16 |
crystal | 1.cr | 107ms | 2.4ms | 10.9MB | 97ms | 0ms | crystal 1.16.0 |
python | 1.py | 477ms | 2.7ms | 11.9MB | 450ms | 10ms | pyston 3.8.12 |
python | 1.py | 732ms | 10.0ms | 12.8MB | 720ms | 0ms | cpython 3.13.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 1.py | 1229ms | 8.1ms | 106.1MB | 1177ms | 37ms | pypy 3.10.16 |
crystal | 1.cr | 1555ms | 17ms | 19.8MB | 1483ms | 60ms | crystal 1.16.0 |
python | 1.py | 2740ms | 11ms | 25.2MB | 2720ms | 10ms | cpython 3.13.3 |
python | 1.py | timeout | 0.0ms | 17.3MB | 4980ms | 3ms | pyston 3.8.12 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 86ms | 2.7ms | 7.0MB | 67ms | 10ms | crystal 1.16.0 |
python | 1.py | 226ms | 4.5ms | 86.4MB | 190ms | 23ms | pypy 3.10.16 |
python | 1.py | 238ms | 4.8ms | 20.5MB | 217ms | 7ms | cpython 3.13.3 |
python | 1.py | 677ms | 17ms | 16.8MB | 657ms | 7ms | pyston 3.8.12 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 59ms | 0.2ms | 6.4MB | 40ms | 3ms | crystal 1.16.0 |
python | 1.py | 249ms | 0.9ms | 83.6MB | 213ms | 20ms | pypy 3.10.16 |
python | 1.py | 364ms | 4.3ms | 12.6MB | 350ms | 0ms | cpython 3.13.3 |
python | 1.py | 2004ms | 3.1ms | 9.6MB | 1990ms | 0ms | pyston 3.8.12 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 23ms | 1.2ms | 5.1MB | 10ms | 0ms | crystal 1.16.0 |
python | 1.py | 101ms | 1.7ms | 63.4MB | 73ms | 13ms | pypy 3.10.16 |
python | 1.py | 112ms | 3.3ms | 12.4MB | 97ms | 0ms | cpython 3.13.3 |
python | 1.py | 350ms | 3.1ms | 8.8MB | 340ms | 0ms | pyston 3.8.12 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 2.cr | 553ms | 1.2ms | 3.5MB | 453ms | 87ms | crystal 1.16.0 |
crystal | 1.cr | 691ms | 0.8ms | 14.4MB | 573ms | 107ms | crystal 1.16.0 |
python | 1.py | 1856ms | 3.7ms | 88.7MB | 1810ms | 33ms | pypy 3.10.16 |
python | 5-m.py | 2281ms | 14ms | 65.4MB | 3517ms | 857ms | pypy 3.10.16 |
python | 5-m.py | 2454ms | 16ms | 12.5MB | 3597ms | 933ms | pyston 3.8.12 |
python | 1.py | 3039ms | 6.1ms | 8.1MB | 3027ms | 0ms | pyston 3.8.12 |
python | 5-m.py | 3378ms | 6.8ms | 13.9MB | 4507ms | 907ms | cpython 3.13.3 |
python | 1.py | 4717ms | 37ms | 8.9MB | 4703ms | 0ms | cpython 3.13.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 2.cr | 61ms | 0.9ms | 3.5MB | 40ms | 10ms | crystal 1.16.0 |
crystal | 1.cr | 74ms | 1.6ms | 4.8MB | 50ms | 10ms | crystal 1.16.0 |
python | 1.py | 253ms | 4.7ms | 63.3MB | 227ms | 10ms | pypy 3.10.16 |
python | 5-m.py | 311ms | 6.2ms | 12.5MB | 407ms | 143ms | pyston 3.8.12 |
python | 1.py | 313ms | 1.7ms | 8.1MB | 300ms | 0ms | pyston 3.8.12 |
python | 5-m.py | 410ms | 4.8ms | 13.8MB | 487ms | 147ms | cpython 3.13.3 |
python | 5-m.py | 451ms | 3.7ms | 65.4MB | 747ms | 310ms | pypy 3.10.16 |
python | 1.py | 498ms | 22ms | 8.9MB | 483ms | 0ms | cpython 3.13.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 1.9ms | 0.1ms | 2.8MB | 0ms | 0ms | crystal 1.16.0 |
python | 1.py | 11ms | 0.9ms | 7.8MB | 0ms | 0ms | pyston 3.8.12 |
python | 1.py | 14ms | 1.3ms | 8.6MB | 10ms | 0ms | cpython 3.13.3 |
python | 1.py | 28ms | 0.4ms | 51.6MB | 10ms | 10ms | pypy 3.10.16 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 1.py | 1982ms | 291ms | 26.5MB | 1100ms | 1583ms | pyston 3.8.12 |
crystal | 1.cr | 2319ms | 124ms | 255.6MB | 313ms | 490ms | crystal 1.16.0 |
python | 1.py | 2558ms | 418ms | 27.5MB | 1607ms | 1657ms | cpython 3.13.3 |
python | 1.py | 4758ms | 76ms | 103.4MB | 2947ms | 1227ms | pypy 3.10.16 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
python | 1.py | 1099ms | 21ms | 21.1MB | 243ms | 273ms | pyston 3.8.12 |
python | 1.py | 1164ms | 45ms | 22.8MB | 320ms | 287ms | cpython 3.13.3 |
crystal | 1.cr | 1250ms | 107ms | 59.0MB | 37ms | 80ms | crystal 1.16.0 |
python | 1.py | 1596ms | 195ms | 86.4MB | 730ms | 227ms | pypy 3.10.16 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 0-unsafe.cr | 37ms | 1.4ms | 2.9MB | 30ms | 0ms | crystal 1.16.0 |
crystal | 1.cr | 64ms | 0.9ms | 2.9MB | 53ms | 0ms | crystal 1.16.0 |
python | 2.py | 145ms | 1.4ms | 58.3MB | 120ms | 10ms | pypy 3.10.16 |
python | 1.py | 178ms | 1.3ms | 59.3MB | 150ms | 10ms | pypy 3.10.16 |
python | 1.py | 726ms | 8.6ms | 8.9MB | 717ms | 0ms | pyston 3.8.12 |
python | 2.py | 840ms | 8.8ms | 8.5MB | 830ms | 0ms | pyston 3.8.12 |
python | 1.py | 1148ms | 17ms | 9.5MB | 1137ms | 0ms | cpython 3.13.3 |
python | 2.py | 1347ms | 2.0ms | 9.3MB | 1333ms | 0ms | cpython 3.13.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 0-unsafe.cr | 99ms | 1.1ms | 2.9MB | 90ms | 0ms | crystal 1.16.0 |
crystal | 1.cr | 185ms | 0.7ms | 2.9MB | 173ms | 0ms | crystal 1.16.0 |
python | 2.py | 344ms | 7.2ms | 59.2MB | 320ms | 10ms | pypy 3.10.16 |
python | 1.py | 380ms | 1.8ms | 60.3MB | 357ms | 10ms | pypy 3.10.16 |
python | 1.py | 2133ms | 11ms | 8.9MB | 2120ms | 0ms | pyston 3.8.12 |
python | 2.py | 2493ms | 11ms | 8.5MB | 2480ms | 0ms | pyston 3.8.12 |
python | 1.py | 3395ms | 51ms | 9.5MB | 3383ms | 0ms | cpython 3.13.3 |
python | 2.py | 3992ms | 18ms | 9.1MB | 3980ms | 0ms | cpython 3.13.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 0-unsafe.cr | 18ms | 1.3ms | 2.9MB | 10ms | 0ms | crystal 1.16.0 |
crystal | 1.cr | 30ms | 1.7ms | 2.9MB | 20ms | 0ms | crystal 1.16.0 |
python | 2.py | 104ms | 2.3ms | 58.1MB | 87ms | 7ms | pypy 3.10.16 |
python | 1.py | 122ms | 4.0ms | 58.7MB | 100ms | 13ms | pypy 3.10.16 |
python | 1.py | 349ms | 7.4ms | 8.5MB | 337ms | 0ms | pyston 3.8.12 |
python | 2.py | 390ms | 5.2ms | 8.1MB | 377ms | 0ms | pyston 3.8.12 |
python | 1.py | 552ms | 6.4ms | 9.3MB | 540ms | 0ms | cpython 3.13.3 |
python | 2.py | 649ms | 7.0ms | 8.8MB | 637ms | 0ms | cpython 3.13.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 843ms | 7.3ms | 64.0MB | 823ms | 10ms | crystal 1.16.0 |
python | 1.py | 2227ms | 9.2ms | 202.8MB | 2113ms | 100ms | pypy 3.10.16 |
python | 1.py | timeout | 0.0ms | 94.0MB | 4960ms | 27ms | cpython 3.13.3 |
python | 1.py | timeout | 0.0ms | 130.4MB | 4937ms | 47ms | pyston 3.8.12 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 174ms | 5.4ms | 22.1MB | 157ms | 0ms | crystal 1.16.0 |
python | 1.py | 384ms | 2.6ms | 105.2MB | 327ms | 43ms | pypy 3.10.16 |
python | 1.py | 3481ms | 73ms | 37.3MB | 3450ms | 20ms | cpython 3.13.3 |
python | 1.py | timeout | 0.0ms | 48.9MB | 4957ms | 30ms | pyston 3.8.12 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 344ms | 0.9ms | 3.1MB | 333ms | 0ms | crystal 1.16.0 |
crystal | 2.cr | 344ms | 2.7ms | 3.1MB | 333ms | 0ms | crystal 1.16.0 |
python | 2.py | 1350ms | 3.5ms | 57.9MB | 1327ms | 10ms | pypy 3.10.16 |
python | 1.py | 2654ms | 20ms | 57.2MB | 2627ms | 13ms | pypy 3.10.16 |
python | 1.py | timeout | 0.0ms | 8.9MB | 4990ms | 0ms | cpython 3.13.3 |
python | 2.py | timeout | 0.0ms | 8.9MB | 4990ms | 0ms | cpython 3.13.3 |
python | 1.py | timeout | 0.0ms | 8.3MB | 4990ms | 0ms | pyston 3.8.12 |
python | 2.py | timeout | 0.0ms | 8.1MB | 4990ms | 0ms | pyston 3.8.12 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 2.cr | 37ms | 0.6ms | 3.1MB | 30ms | 0ms | crystal 1.16.0 |
crystal | 1.cr | 39ms | 0.7ms | 3.3MB | 30ms | 0ms | crystal 1.16.0 |
python | 2.py | 177ms | 2.0ms | 57.9MB | 157ms | 10ms | pypy 3.10.16 |
python | 1.py | 309ms | 11ms | 57.1MB | 287ms | 7ms | pypy 3.10.16 |
python | 1.py | 1009ms | 134ms | 8.3MB | 997ms | 0ms | pyston 3.8.12 |
python | 2.py | 1304ms | 5.0ms | 8.3MB | 1293ms | 0ms | pyston 3.8.12 |
python | 1.py | 2984ms | 72ms | 8.8MB | 2970ms | 0ms | cpython 3.13.3 |
python | 2.py | 3398ms | 9.8ms | 8.9MB | 3387ms | 0ms | cpython 3.13.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 2.cr | 298ms | 3.7ms | 8.1MB | 287ms | 0ms | crystal 1.16.0 |
crystal | 1.cr | 425ms | 7.5ms | 62.4MB | 410ms | 0ms | crystal 1.16.0 |
python | 1.py | 2598ms | 14ms | 369.5MB | 2527ms | 60ms | pypy 3.10.16 |
python | 2.py | 3071ms | 19ms | 633.0MB | 2897ms | 157ms | pyston 3.8.12 |
python | 1.py | 4831ms | 76ms | 320.4MB | 4770ms | 47ms | pyston 3.8.12 |
python | 1.py | timeout | 0.0ms | 321.3MB | 4960ms | 27ms | cpython 3.13.3 |
python | 2.py | timeout | 0.0ms | 633.8MB | 4833ms | 150ms | cpython 3.13.3 |
python | 2.py | timeout | 0.0ms | 959.7MB | 4723ms | 260ms | pypy 3.10.16 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 2.cr | 74ms | 1.4ms | 4.4MB | 67ms | 0ms | crystal 1.16.0 |
crystal | 1.cr | 88ms | 0.8ms | 13.0MB | 80ms | 0ms | crystal 1.16.0 |
python | 1.py | 545ms | 16ms | 135.2MB | 510ms | 20ms | pypy 3.10.16 |
python | 2.py | 746ms | 6.9ms | 164.2MB | 707ms | 27ms | pyston 3.8.12 |
python | 1.py | 1093ms | 21ms | 86.0MB | 1070ms | 10ms | pyston 3.8.12 |
python | 2.py | 1471ms | 14ms | 165.0MB | 1430ms | 30ms | cpython 3.13.3 |
python | 2.py | 1569ms | 31ms | 290.2MB | 1480ms | 77ms | pypy 3.10.16 |
python | 1.py | 2775ms | 8.1ms | 86.9MB | 2750ms | 10ms | cpython 3.13.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 1901ms | 45ms | 6.2MB | 1870ms | 17ms | crystal 1.16.0 |
python | 4.py | 1925ms | 11ms | 8.9MB | 1877ms | 33ms | pyston 3.8.12 |
python | 4.py | 1996ms | 9.8ms | 9.5MB | 1940ms | 43ms | cpython 3.13.3 |
python | 4.py | 2190ms | 2.9ms | 89.4MB | 2150ms | 27ms | pypy 3.10.16 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 438ms | 9.9ms | 5.1MB | 423ms | 0ms | crystal 1.16.0 |
python | 4.py | 451ms | 0.8ms | 8.6MB | 440ms | 0ms | pyston 3.8.12 |
python | 4.py | 476ms | 4.0ms | 9.3MB | 467ms | 0ms | cpython 3.13.3 |
python | 4.py | 553ms | 5.0ms | 83.9MB | 513ms | 23ms | pypy 3.10.16 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 3762ms | 7.2ms | 4.5MB | 3753ms | 0ms | crystal 1.16.0 |
python | 8.py | timeout | 0.0ms | 14.8MB | 40ms | 7ms | cpython 3.13.3 |
python | 8.py | timeout | 0.0ms | 96.8MB | 803ms | 73ms | pypy 3.10.16 |
python | 8.py | timeout | 0.0ms | 14.1MB | 33ms | 10ms | pyston 3.8.12 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 950ms | 9.5ms | 4.3MB | 940ms | 0ms | crystal 1.16.0 |
python | 8.py | timeout | 0.0ms | 14.6MB | 50ms | 10ms | cpython 3.13.3 |
python | 8.py | timeout | 0.0ms | 96.2MB | 1303ms | 180ms | pypy 3.10.16 |
python | 8.py | timeout | 0.0ms | 13.7MB | 57ms | 20ms | pyston 3.8.12 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
crystal | 1.cr | 240ms | 2.6ms | 3.8MB | 233ms | 0ms | crystal 1.16.0 |
python | 8-m.py | 1955ms | 10ms | 93.2MB | 6330ms | 253ms | pypy 3.10.16 |
python | 8.py | timeout | 0.0ms | 14.3MB | 90ms | 13ms | cpython 3.13.3 |
python | 8.py | timeout | 0.0ms | 13.1MB | 127ms | 37ms | pyston 3.8.12 |