- var_dump: documentation ( source)
- array_sum: documentation ( source)
- microtime: documentation ( source)
<?php
class Foo {}
function f0($foo) {}
function f1(Foo $foo) {}
function f2(Foo $foo = null) {}
$calls = 1000000;
$avg = 5;
$m = array();
for ($j = 0; $j < $avg; $j++) {
$start = microtime(true);
for ($i = 0; $i < $calls; $i++) {
f0(new Foo());
}
$m[] = microtime(true) - $start;
}
var_dump(array_sum($m) / $avg);
$m = array();
for ($j = 0; $j < $avg; $j++) {
$start = microtime(true);
for ($i = 0; $i < $calls; $i++) {
f1(new Foo());
}
$m[] = microtime(true) - $start;
}
var_dump(array_sum($m) / $avg);
$m = array();
for ($j = 0; $j < $avg; $j++) {
$start = microtime(true);
for ($i = 0; $i < $calls; $i++) {
f2(new Foo());
}
$m[] = microtime(true) - $start;
}
var_dump(array_sum($m) / $avg);