Current benchmark data was generated on Thu May 01 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 |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 1318ms | 6.6ms | 144.0MB | 1503ms | 67ms | haxe/cpp 4.3.6 |
haxe | 2.hx | 4426ms | 25ms | 495.3MB | 5017ms | 260ms | haxe/cpp 4.3.6 |
ruby | 1.rb | 4679ms | 84ms | 150.6MB | 4570ms | 97ms | ruby/yjit 3.4.3 |
haxe | 1.hx | timeout | 0.0ms | 48.6MB | 5480ms | 430ms | haxe/hl/c 4.3.6 |
haxe | 2.hx | timeout | 0.0ms | 83.0MB | 4927ms | 717ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 50.9MB | 7453ms | 437ms | haxe/hl/jit 1.15.0 |
haxe | 2.hx | timeout | 0.0ms | 130.9MB | 7437ms | 773ms | haxe/hl/jit 1.15.0 |
ruby | 1.rb | timeout | 0.0ms | 70.0MB | 4950ms | 40ms | ruby 3.4.3 |
ruby | 1.rb | timeout | 0.0ms | 780.8MB | 6557ms | 723ms | truffleruby 24.2.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 87ms | 2.0ms | 25.6MB | 77ms | 7ms | haxe/cpp 4.3.6 |
haxe | 2.hx | 384ms | 6.8ms | 58.3MB | 420ms | 27ms | haxe/cpp 4.3.6 |
ruby | 1.rb | 481ms | 3.0ms | 20.3MB | 460ms | 10ms | ruby/yjit 3.4.3 |
ruby | 1-m.rb | 537ms | 62ms | 414.1MB | 1070ms | 150ms | truffleruby 24.2.1 |
haxe | 1.hx | 641ms | 2.0ms | 8.8MB | 607ms | 47ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 678ms | 3.2ms | 11.2MB | 757ms | 47ms | haxe/hl/jit 1.15.0 |
haxe | 2.hx | 920ms | 11ms | 13.6MB | 810ms | 157ms | haxe/hl/c 4.3.6 |
haxe | 2.hx | 928ms | 4.6ms | 25.2MB | 907ms | 153ms | haxe/hl/jit 1.15.0 |
ruby | 1.rb | 931ms | 3.2ms | 19.5MB | 910ms | 7ms | ruby 3.4.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ruby | 6.rb | 2030ms | 11ms | 23.0MB | 2007ms | 10ms | ruby/yjit 3.4.3 |
ruby | 6-m.rb | 2048ms | 68ms | 387.2MB | 5343ms | 347ms | truffleruby 24.2.1 |
haxe | 1.hx | 2392ms | 6.6ms | 25.8MB | 2233ms | 233ms | haxe/cpp 4.3.6 |
ruby | 6.rb | 3729ms | 21ms | 22.4MB | 3707ms | 10ms | ruby 3.4.3 |
haxe | 1.hx | timeout | 0.0ms | 3.2MB | 4343ms | 883ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 3.5MB | 4377ms | 877ms | haxe/hl/jit 1.15.0 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 255ms | 1.6ms | 25.6MB | 223ms | 27ms | haxe/cpp 4.3.6 |
ruby | 6.rb | 257ms | 3.2ms | 15.0MB | 240ms | 7ms | ruby/yjit 3.4.3 |
ruby | 6.rb | 431ms | 3.1ms | 14.4MB | 410ms | 7ms | ruby 3.4.3 |
haxe | 1.hx | 658ms | 5.3ms | 3.3MB | 570ms | 107ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 683ms | 4.8ms | 3.6MB | 593ms | 117ms | haxe/hl/jit 1.15.0 |
ruby | 6-m.rb | 771ms | 87ms | 365.8MB | 1910ms | 180ms | truffleruby 24.2.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 1.9ms | 0.2ms | 2.9MB | 0ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 2.5ms | 0.2ms | 4.4MB | 0ms | 0ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 3.4ms | 0.2ms | 2.8MB | 0ms | 0ms | haxe/hl/jit 1.15.0 |
ruby | 1.rb | 34ms | 0.6ms | 140.7MB | 12ms | 24ms | truffleruby 24.2.1 |
ruby | 1.rb | 50ms | 0.5ms | 13.0MB | 36ms | 4ms | ruby/yjit 3.4.3 |
ruby | 1.rb | 52ms | 1.7ms | 12.8MB | 38ms | 0ms | ruby 3.4.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 136ms | 3.5ms | 20.4MB | 123ms | 3ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 138ms | 2.4ms | 3.1MB | 127ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 154ms | 1.6ms | 3.8MB | 147ms | 0ms | haxe/hl/jit 1.15.0 |
ruby | 1.rb | 336ms | 3.0ms | 13.5MB | 320ms | 7ms | ruby/yjit 3.4.3 |
ruby | 1.rb | 528ms | 0.6ms | 12.9MB | 510ms | 0ms | ruby 3.4.3 |
ruby | 1-m.rb | 649ms | 12ms | 361.2MB | 1150ms | 143ms | truffleruby 24.2.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 378ms | 5.7ms | 25.5MB | 367ms | 7ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 394ms | 1.8ms | 3.0MB | 383ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 455ms | 4.9ms | 3.8MB | 443ms | 0ms | haxe/hl/jit 1.15.0 |
ruby | 1.rb | 891ms | 5.7ms | 13.5MB | 873ms | 3ms | ruby/yjit 3.4.3 |
ruby | 1-m.rb | 1218ms | 28ms | 399.4MB | 1703ms | 157ms | truffleruby 24.2.1 |
ruby | 1.rb | 1472ms | 6.0ms | 12.9MB | 1453ms | 3ms | ruby 3.4.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 61ms | 0.2ms | 12.6MB | 47ms | 3ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 68ms | 1.7ms | 3.1MB | 60ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 79ms | 2.6ms | 3.8MB | 70ms | 0ms | haxe/hl/jit 1.15.0 |
ruby | 1.rb | 194ms | 4.2ms | 13.4MB | 177ms | 7ms | ruby/yjit 3.4.3 |
ruby | 1.rb | 288ms | 3.8ms | 12.8MB | 270ms | 3ms | ruby 3.4.3 |
ruby | 1-m.rb | 516ms | 39ms | 354.9MB | 993ms | 137ms | truffleruby 24.2.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 907ms | 2.4ms | 95.0MB | 997ms | 50ms | haxe/cpp 4.3.6 |
ruby | 1-m.rb | 4011ms | 237ms | 549.1MB | 10167ms | 373ms | truffleruby 24.2.1 |
haxe | 1.hx | timeout | 0.0ms | 32.6MB | 4920ms | 533ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 57.2MB | 5820ms | 470ms | haxe/hl/jit 1.15.0 |
ruby | 1.rb | timeout | 0.0ms | 93.5MB | 4940ms | 50ms | ruby 3.4.3 |
ruby | 1.rb | timeout | 0.0ms | 97.2MB | 4940ms | 50ms | ruby/yjit 3.4.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 169ms | 2.7ms | 26.6MB | 167ms | 10ms | haxe/cpp 4.3.6 |
haxe | 1.hx | 1299ms | 6.1ms | 10.7MB | 1237ms | 143ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 1319ms | 7.8ms | 20.4MB | 1340ms | 123ms | haxe/hl/jit 1.15.0 |
ruby | 1-m.rb | 2063ms | 65ms | 556.4MB | 5307ms | 257ms | truffleruby 24.2.1 |
ruby | 1.rb | 3317ms | 15ms | 38.3MB | 3287ms | 17ms | ruby/yjit 3.4.3 |
ruby | 1.rb | 4340ms | 9.9ms | 37.6MB | 4307ms | 20ms | ruby 3.4.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
ruby | 2.rb | 820ms | 8.8ms | 310.7MB | 1043ms | 117ms | truffleruby 24.2.1 |
haxe | 2.hx | 856ms | 3.2ms | 3.0MB | 847ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 1078ms | 12ms | 3.1MB | 1070ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 3.hx | 1411ms | 41ms | 25.6MB | 1543ms | 37ms | haxe/cpp 4.3.6 |
haxe | 2.hx | 2404ms | 5.5ms | 3.6MB | 2397ms | 0ms | haxe/hl/jit 1.15.0 |
haxe | 1.hx | 2482ms | 12ms | 3.6MB | 2473ms | 0ms | haxe/hl/jit 1.15.0 |
haxe | 1.hx | timeout | 0.0ms | 4.4MB | 4990ms | 0ms | haxe/cpp 4.3.6 |
haxe | 2.hx | timeout | 0.0ms | 4.5MB | 4990ms | 0ms | haxe/cpp 4.3.6 |
haxe | 3.hx | timeout | 0.0ms | 3.2MB | 3880ms | 1650ms | haxe/hl/c 4.3.6 |
haxe | 3.hx | timeout | 0.0ms | 3.9MB | 4143ms | 1347ms | haxe/hl/jit 1.15.0 |
ruby | 2.rb | timeout | 0.0ms | 12.8MB | 4987ms | 3ms | ruby 3.4.3 |
ruby | 2.rb | timeout | 0.0ms | 13.5MB | 4983ms | 0ms | ruby/yjit 3.4.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 2.hx | 89ms | 1.5ms | 3.0MB | 80ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 110ms | 1.1ms | 3.0MB | 100ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 3.hx | 152ms | 0.6ms | 25.8MB | 147ms | 10ms | haxe/cpp 4.3.6 |
haxe | 2.hx | 246ms | 2.2ms | 3.6MB | 240ms | 0ms | haxe/hl/jit 1.15.0 |
haxe | 1.hx | 252ms | 2.5ms | 3.8MB | 240ms | 0ms | haxe/hl/jit 1.15.0 |
ruby | 2-m.rb | 312ms | 9.0ms | 309.6MB | 540ms | 117ms | truffleruby 24.2.1 |
haxe | 3.hx | 670ms | 0.9ms | 3.1MB | 530ms | 200ms | haxe/hl/c 4.3.6 |
haxe | 2.hx | 677ms | 8.5ms | 4.4MB | 670ms | 0ms | haxe/cpp 4.3.6 |
haxe | 3.hx | 786ms | 4.1ms | 3.9MB | 643ms | 210ms | haxe/hl/jit 1.15.0 |
haxe | 1.hx | 809ms | 5.4ms | 4.4MB | 797ms | 0ms | haxe/cpp 4.3.6 |
ruby | 2.rb | 1025ms | 2.6ms | 13.5MB | 1010ms | 0ms | ruby/yjit 3.4.3 |
ruby | 2.rb | 2856ms | 28ms | 12.8MB | 2840ms | 0ms | ruby 3.4.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 3903ms | 13ms | 3.3MB | 3887ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 7.0MB | 4990ms | 0ms | haxe/cpp 4.3.6 |
haxe | 1.hx | timeout | 0.0ms | 3.8MB | 4990ms | 0ms | haxe/hl/jit 1.15.0 |
ruby | 4.rb | timeout | 0.0ms | 12.9MB | 4980ms | 3ms | ruby 3.4.3 |
ruby | 4.rb | timeout | 0.0ms | 13.5MB | 4983ms | 3ms | ruby/yjit 3.4.3 |
ruby | 4.rb | timeout | 0.0ms | 412.4MB | 5180ms | 223ms | truffleruby 24.2.1 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 983ms | 1.0ms | 3.1MB | 970ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 2399ms | 1.5ms | 6.5MB | 2390ms | 0ms | haxe/cpp 4.3.6 |
ruby | 4.rb | 4838ms | 9.1ms | 424.1MB | 5130ms | 203ms | truffleruby 24.2.1 |
haxe | 1.hx | timeout | 0.0ms | 3.8MB | 4990ms | 0ms | haxe/hl/jit 1.15.0 |
ruby | 4.rb | timeout | 0.0ms | 12.9MB | 4980ms | 7ms | ruby 3.4.3 |
ruby | 4.rb | timeout | 0.0ms | 13.5MB | 4983ms | 3ms | ruby/yjit 3.4.3 |
lang | code | time | stddev | peak-mem mem | time(user) | time(sys) | compiler compiler/runtime |
---|---|---|---|---|---|---|---|
haxe | 1.hx | 252ms | 2.3ms | 3.0MB | 240ms | 0ms | haxe/hl/c 4.3.6 |
haxe | 1.hx | 603ms | 0.9ms | 5.4MB | 590ms | 0ms | haxe/cpp 4.3.6 |
ruby | 4.rb | 1417ms | 19ms | 373.9MB | 1763ms | 130ms | truffleruby 24.2.1 |
haxe | 1.hx | 2297ms | 2.9ms | 3.8MB | 2287ms | 0ms | haxe/hl/jit 1.15.0 |
ruby | 4.rb | timeout | 0.0ms | 12.9MB | 4980ms | 7ms | ruby 3.4.3 |
ruby | 4.rb | timeout | 0.0ms | 13.8MB | 4980ms | 3ms | ruby/yjit 3.4.3 |