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

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

Odin VS Ruby 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
odin 1.odin 3460ms 34ms 49.6MB 3430ms 13ms odin 2024
ruby 1.rb 11360ms 112ms 87.8MB 11283ms 57ms ruby 3.2.3
ruby 1.rb 11813ms 6.3ms 87.9MB 11740ms 57ms ruby/yjit 3.2.3

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 329ms 60ms 7.5MB 320ms 0ms odin 2024
ruby 1.rb 1118ms 12ms 30.2MB 1087ms 17ms ruby 3.2.3
ruby 1.rb 1172ms 15ms 30.3MB 1137ms 20ms ruby/yjit 3.2.3

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 1.6ms 0.4ms 1.4MB 0ms 0ms odin 2024
ruby 1.rb 85ms 4.7ms 22.6MB 64ms 12ms ruby/yjit 3.2.3
ruby 1.rb 95ms 7.0ms 22.5MB 62ms 18ms ruby 3.2.3

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 244ms 2.4ms 1.4MB 233ms 0ms odin 2024
ruby 1.rb 861ms 5.6ms 22.8MB 833ms 17ms ruby 3.2.3
ruby 1.rb 879ms 15ms 22.7MB 860ms 7ms ruby/yjit 3.2.3

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 701ms 0.5ms 1.4MB 690ms 0ms odin 2024
ruby 1.rb 2450ms 53ms 22.8MB 2420ms 13ms ruby/yjit 3.2.3
ruby 1.rb 2468ms 49ms 22.8MB 2437ms 13ms ruby 3.2.3

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 119ms 9.7ms 1.4MB 107ms 0ms odin 2024
ruby 1.rb 474ms 9.8ms 22.8MB 447ms 13ms ruby/yjit 3.2.3
ruby 1.rb 482ms 2.1ms 22.8MB 457ms 10ms ruby 3.2.3

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 384ms 2.2ms 4.6MB 367ms 0ms odin 2024

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 20ms 0.6ms 1.4MB 10ms 0ms odin 2024

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1-i.odin 552ms 2.8ms 1.4MB 540ms 0ms odin 2024
odin 1.odin 627ms 4.8ms 1.4MB 613ms 0ms odin 2024
ruby 2.rb 46837ms 1570ms 22.6MB 46803ms 13ms ruby 3.2.3
ruby 2.rb 47090ms 429ms 22.5MB 47053ms 13ms ruby/yjit 3.2.3

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1-i.odin 63ms 3.8ms 1.3MB 50ms 0ms odin 2024
odin 1.odin 68ms 2.0ms 1.4MB 57ms 0ms odin 2024
ruby 2.rb 4685ms 47ms 22.6MB 4660ms 7ms ruby/yjit 3.2.3
ruby 2.rb 4697ms 102ms 22.5MB 4673ms 10ms ruby 3.2.3

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 950ms 10ms 40.6MB 927ms 7ms odin 2024
odin 2.odin 1354ms 33ms 6.4MB 1340ms 0ms odin 2024
ruby 1.rb 25887ms 459ms 493.1MB 25683ms 183ms ruby 3.2.3
ruby 1.rb 25973ms 509ms 493.0MB 25737ms 220ms ruby/yjit 3.2.3

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 169ms 5.7ms 11.4MB 157ms 0ms odin 2024
odin 2.odin 260ms 1.9ms 2.7MB 250ms 0ms odin 2024
ruby 1.rb 6454ms 102ms 141.4MB 6377ms 63ms ruby 3.2.3
ruby 1.rb 6477ms 132ms 141.4MB 6400ms 63ms ruby/yjit 3.2.3

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 11033ms 17ms 2.9MB 11017ms 0ms odin 2024
ruby 4.rb timeout (300s) — — — — ruby 3.2.3
ruby 4.rb timeout (300s) — — — — ruby/yjit 3.2.3

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 2767ms 10ms 2.1MB 2753ms 0ms odin 2024
ruby 4.rb 108151ms 898ms 24.1MB 108120ms 10ms ruby 3.2.3
ruby 4.rb timeout (120s) — — — — ruby/yjit 3.2.3

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
odin 1.odin 698ms 2.3ms 1.8MB 687ms 0ms odin 2024
ruby 4.rb 27651ms 1140ms 23.4MB 27623ms 10ms ruby/yjit 3.2.3
ruby 4.rb 28446ms 2206ms 23.3MB 28410ms 13ms ruby 3.2.3