3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo {} function f0($foo) {} function f1(Foo $foo) {} function f2(Foo $foo = null) {} $count = 1; $measurements = array(); for ($j = 0; $j < $count; $j++) { $start = microtime(true); for ($i = 0; $i < 1000000; $i++) { f0(new Foo()); } $measurements[] = microtime(true) - $start; } var_dump(array_sum($times) / 10); $measurements = array(); for ($j = 0; $j < $count; $j++) { $start = microtime(true); for ($i = 0; $i < 1000000; $i++) { f1(new Foo()); } $measurements[] = microtime(true) - $start; } var_dump(array_sum($times) / 10); $measurements = array(); for ($j = 0; $j < $count; $j++) { $start = microtime(true); for ($i = 0; $i < 1000000; $i++) { f2(new Foo()); } $measurements[] = microtime(true) - $start; } var_dump(array_sum($times) / 10);

preferences:
30.18 ms | 402 KiB | 5 Q