Php VS Ruby benchmarks

Current benchmark data was generated on Wed Jan 22 2025, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] AMD EPYC 7763 64-Core Processor (Model 1)

* -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
ruby 1.rb 4697ms 14ms 109.5MB 4587ms 90ms ruby/yjit 3.4.1
php 1.php timeout 0.0ms 141.9MB 4957ms 23ms php 8.2.27
ruby 1.rb timeout 0.0ms 70.1MB 4937ms 50ms ruby 3.4.1
ruby 1.rb timeout 0.0ms 782.5MB 6640ms 683ms truffleruby 24.1.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
ruby 1.rb 478ms 0.8ms 20.4MB 460ms 7ms ruby/yjit 3.4.1
ruby 1-m.rb 593ms 65ms 442.1MB 1223ms 143ms truffleruby 24.1.2
php 1.php 619ms 7.3ms 62.7MB 590ms 13ms php 8.2.27
ruby 1.rb 945ms 11ms 19.6MB 920ms 13ms ruby 3.4.1

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
ruby 1.rb 39ms 0.6ms 162.9MB 12ms 28ms truffleruby 24.1.2
php 1.php 50ms 1.1ms 52.6MB 22ms 12ms php 8.2.27
ruby 1.rb 52ms 1.6ms 13.3MB 34ms 6ms ruby/yjit 3.4.1
ruby 1.rb 54ms 1.5ms 12.9MB 40ms 2ms ruby 3.4.1

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
php 1.php 3744ms 64ms 113.9MB 3703ms 23ms php 8.2.27
ruby 1-m.rb 4708ms 225ms 552.6MB 12003ms 397ms truffleruby 24.1.2
ruby 1.rb timeout 0.0ms 93.6MB 4947ms 40ms ruby 3.4.1
ruby 1.rb timeout 0.0ms 97.4MB 4930ms 53ms ruby/yjit 3.4.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
php 1.php 826ms 9.2ms 67.1MB 787ms 23ms php 8.2.27
ruby 1-m.rb 2277ms 144ms 640.9MB 5863ms 277ms truffleruby 24.1.2
ruby 1.rb 3244ms 3.3ms 38.4MB 3200ms 23ms ruby/yjit 3.4.1
ruby 1.rb 4268ms 4.5ms 37.6MB 4237ms 17ms ruby 3.4.1