Php VS Ruby benchmarks

Current benchmark data was generated on Sat Jan 28 2023, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (Model 106)

* -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 141.1MB 4953ms 33ms php 8.2.1
ruby 1.rb timeout 0.0ms 72.6MB 4943ms 40ms ruby 3.2.0
ruby 1.rb timeout 0.0ms 115.6MB 4917ms 60ms ruby/yjit 3.2.0
ruby 1.rb timeout 0.0ms 612.7MB 8020ms 290ms truffleruby 22.3.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
ruby 1.rb 565ms 6.7ms 40.7MB 530ms 17ms ruby/yjit 3.2.0
php 1.php 781ms 1.5ms 62.3MB 750ms 17ms php 8.2.1
ruby 1.rb 1011ms 5.8ms 40.3MB 973ms 20ms ruby 3.2.0
ruby 1-m.rb 1081ms 25ms 419.3MB 1780ms 140ms truffleruby 22.3.1

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
ruby 1.rb 45ms 2.4ms 154.4MB 18ms 30ms truffleruby 22.3.1
php 1.php 48ms 3.8ms 51.3MB 22ms 10ms php 8.2.1
ruby 1.rb 72ms 1.0ms 32.2MB 50ms 10ms ruby 3.2.0
ruby 1.rb 77ms 0.9ms 32.3MB 50ms 12ms ruby/yjit 3.2.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
php 1.php 4853ms 20ms 113.5MB 4810ms 23ms php 8.2.1
ruby 1.rb timeout 0.0ms 96.4MB 4933ms 47ms ruby 3.2.0
ruby 1.rb timeout 0.0ms 97.0MB 4927ms 57ms ruby/yjit 3.2.0
ruby 1.rb timeout 0.0ms 562.9MB 9010ms 220ms truffleruby 22.3.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
php 1.php 1068ms 0.8ms 66.4MB 1030ms 23ms php 8.2.1
ruby 1-m.rb 3464ms 95ms 580.1MB 6290ms 240ms truffleruby 22.3.1
ruby 1.rb 4125ms 19ms 53.7MB 4087ms 23ms ruby/yjit 3.2.0
ruby 1.rb 4936ms 27ms 52.7MB 4890ms 23ms ruby 3.2.0