- microtime: documentation ( source)
- log: documentation ( source)
<?php
$start = microtime(true);
$fn = @create_function('$a,$b', 'return log($a * $b);');
$v = 0;
for ($i = 0; $i < 1000; $i++)
$v += $fn($i, $i);
echo("create_function: " . (microtime(true) - $start) . "\n");
$start = microtime(true);
$v = 0;
for ($i = 0; $i < 1000; $i++)
$v += eval("return log($i * $i);");
echo("eval: " . (microtime(true) - $start) . "\n");
$start = microtime(true);
$fn = fn($a, $b) => log($a * $b);
$v = 0;
for ($i = 0; $i < 1000; $i++)
$v += $fn($i, $i);
echo("arrow function: " . (microtime(true) - $start) . "\n");
$start = microtime(true);
$fn = function ($a, $b) { return log($a * $b); };
$v = 0;
for ($i = 0; $i < 1000; $i++)
$v += $fn($i, $i);
echo("anonymous function: " . (microtime(true) - $start) . "\n");