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