- microtime: documentation ( source)
<?php
class Foo {
public function bar() {}
}
$foo = new Foo();
$method = 'bar';
$args = array();
$iterations = 100000;
$start = microtime(true);
for($i = 0; $i < $iterations; $i++) {
$foo->{$method}($args);
}
echo 'Calling directly on object: ' . (microtime(true) - $start) . PHP_EOL;
$start = microtime(true);
for($i = 0; $i < $iterations; $i++) {
call_user_func_array(array($foo, $method), $args);
}
echo 'Calling call_user_func: ' . (microtime(true) - $start) . PHP_EOL;