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 Nim 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
nim 2.nim 1224ms 7.0ms 35.9MB 1200ms 7ms nim 2.2.4
nim 2.nim 1502ms 17ms 35.0MB 1483ms 3ms nim/clang 2.2.4
odin 1.odin 3460ms 34ms 49.6MB 3430ms 13ms odin 2024

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 117ms 20ms 7.3MB 95ms 0ms nim 2.2.4
nim 2.nim 124ms 5.3ms 5.9MB 110ms 0ms nim/clang 2.2.4
odin 1.odin 329ms 60ms 7.5MB 320ms 0ms odin 2024

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 1.5ms 0.1ms 1.3MB 0ms 0ms nim/clang 2.2.4
odin 1.odin 1.6ms 0.4ms 1.4MB 0ms 0ms odin 2024
nim 1.nim 2.5ms 0.5ms 2.1MB 0ms 0ms nim 2.2.4

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 152ms 2.4ms 1.4MB 143ms 0ms nim/clang 2.2.4
nim 2.nim 154ms 7.7ms 3.5MB 143ms 0ms nim 2.2.4
odin 1.odin 244ms 2.4ms 1.4MB 233ms 0ms odin 2024
nim 1.nim 10570ms 78ms 2.1MB 10560ms 0ms nim 2.2.4
nim 1.nim 14012ms 275ms 1.4MB 13997ms 0ms nim/clang 2.2.4

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 446ms 5.0ms 3.5MB 437ms 0ms nim 2.2.4
nim 2.nim 449ms 4.0ms 1.3MB 437ms 0ms nim/clang 2.2.4
odin 1.odin 701ms 0.5ms 1.4MB 690ms 0ms odin 2024
nim 1.nim 31568ms 105ms 2.1MB 31553ms 0ms nim 2.2.4
nim 1.nim 42854ms 1115ms 1.4MB 42840ms 0ms nim/clang 2.2.4

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 67ms 0.6ms 1.4MB 60ms 0ms nim/clang 2.2.4
nim 2.nim 68ms 2.3ms 2.1MB 60ms 0ms nim 2.2.4
odin 1.odin 119ms 9.7ms 1.4MB 107ms 0ms odin 2024
nim 1.nim 535ms 9.4ms 2.1MB 523ms 0ms nim 2.2.4
nim 1.nim 689ms 8.3ms 1.3MB 677ms 0ms nim/clang 2.2.4

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
nim 1.nim 557ms 8.5ms 4.5MB 543ms 0ms nim/clang 2.2.4
nim 1.nim 1366ms 3.0ms 6.4MB 1350ms 0ms nim 2.2.4

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
nim 1.nim 26ms 0.4ms 1.4MB 20ms 0ms nim/clang 2.2.4
nim 1.nim 62ms 2.4ms 3.7MB 50ms 0ms nim 2.2.4

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 494ms 1.4ms 2.1MB 480ms 0ms nim 2.2.4
nim 2.nim 542ms 9.6ms 1.4MB 530ms 0ms nim/clang 2.2.4
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

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 55ms 2.9ms 2.1MB 47ms 0ms nim 2.2.4
nim 2.nim 58ms 1.0ms 1.3MB 50ms 0ms nim/clang 2.2.4
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

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
nim 1.nim 954ms 6.1ms 42.7MB 937ms 0ms nim 2.2.4
nim 1.nim 965ms 5.0ms 40.8MB 943ms 0ms nim/clang 2.2.4
odin 2.odin 1354ms 33ms 6.4MB 1340ms 0ms odin 2024

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 168ms 0.9ms 12.9MB 160ms 0ms nim 2.2.4
odin 1.odin 169ms 5.7ms 11.4MB 157ms 0ms odin 2024
nim 1.nim 175ms 5.7ms 11.8MB 163ms 0ms nim/clang 2.2.4
odin 2.odin 260ms 1.9ms 2.7MB 250ms 0ms odin 2024

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 11029ms 35ms 1.3MB 11017ms 0ms nim/clang 2.2.4
odin 1.odin 11033ms 17ms 2.9MB 11017ms 0ms odin 2024
nim 1.nim 11039ms 7.6ms 3.4MB 11027ms 0ms nim 2.2.4

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 2764ms 2.5ms 1.4MB 2753ms 0ms nim/clang 2.2.4
odin 1.odin 2767ms 10ms 2.1MB 2753ms 0ms odin 2024
nim 1.nim 2767ms 4.2ms 2.1MB 2753ms 0ms nim 2.2.4

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 695ms 0.3ms 1.3MB 683ms 0ms nim/clang 2.2.4
nim 1.nim 696ms 2.1ms 2.1MB 687ms 0ms nim 2.2.4
odin 1.odin 698ms 2.3ms 1.8MB 687ms 0ms odin 2024