Php VS Kotlin benchmarks

Current benchmark data was generated on Sun Dec 01 2024, 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
kotlin 1.kt 480ms 16ms 575.9MB 567ms 87ms kotlin/jvm 21
kotlin 1-m.kt 3116ms 32ms 248.5MB 5177ms 713ms kotlin/native 1.8.21
php 1.php timeout 0.0ms 141.9MB 4953ms 27ms php 8.2.26

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1.kt 102ms 1.9ms 158.0MB 110ms 27ms kotlin/jvm 21
kotlin 1-m.kt 299ms 30ms 32.5MB 463ms 60ms kotlin/native 1.8.21
php 1.php 626ms 24ms 62.8MB 573ms 30ms php 8.2.26

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1.kt 2.4ms 0.2ms 4.7MB 0ms 0ms kotlin/native 1.8.21
php 1.php 52ms 1.3ms 52.5MB 16ms 22ms php 8.2.26
kotlin 1.kt 58ms 4.7ms 47.4MB 56ms 16ms kotlin/jvm 21

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1.kt 353ms 4.0ms 679.4MB 377ms 90ms kotlin/jvm 21
kotlin 1-m.kt 1537ms 54ms 136.5MB 2363ms 343ms kotlin/native 1.8.21
php 1.php 3744ms 47ms 113.9MB 3703ms 20ms php 8.2.26

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
kotlin 1-m.kt 131ms 0.9ms 206.5MB 157ms 40ms kotlin/jvm 21
kotlin 1-m.kt 319ms 4.8ms 40.5MB 470ms 77ms kotlin/native 1.8.21
php 1.php 836ms 5.4ms 67.3MB 797ms 23ms php 8.2.26