Php VS Ruby benchmarks

Current benchmark data was generated on Wed May 25 2022, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz (Model 85)

* -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
php 1.php timeout 0.0ms 0.0MB 0ms 0ms php 8.1.5
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms ruby 3.1.2
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms ruby/yjit 3.1.2
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms truffleruby 22.1.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
ruby 1.rb 959ms 4.8ms 35.5MB 927ms 20ms ruby 3.1.2
ruby 1.rb 1007ms 63ms 292.1MB 833ms 157ms ruby/yjit 3.1.2
ruby 1-m.rb 1154ms 16ms 374.0MB 1910ms 153ms truffleruby 22.1.0
php 1.php timeout 0.0ms 0.0MB 0ms 0ms php 8.1.5

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
php 1.php 47ms 1.4ms 47.8MB 24ms 10ms php 8.1.5
ruby 1.rb 47ms 1.2ms 138.4MB 20ms 30ms truffleruby 22.1.0
ruby 1.rb 68ms 3.3ms 29.9MB 46ms 8ms ruby 3.1.2
ruby 1.rb 255ms 11ms 286.7MB 106ms 136ms ruby/yjit 3.1.2

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
php 1.php timeout 0.0ms 0.0MB 0ms 0ms php 8.1.5
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms ruby 3.1.2
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms ruby/yjit 3.1.2
ruby 1.rb timeout 0.0ms 0.0MB 0ms 0ms truffleruby 22.1.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
ruby 1-m.rb 3899ms 12ms 522.4MB 7130ms 253ms truffleruby 22.1.0
ruby 1.rb 3919ms 269ms 300.9MB 3750ms 147ms ruby/yjit 3.1.2
ruby 1.rb 4824ms 19ms 44.4MB 4790ms 17ms ruby 3.1.2
php 1.php timeout 0.0ms 0.0MB 0ms 0ms php 8.1.5