- microtime: documentation ( source)
- range: documentation ( source)
- printf: documentation ( source)
<?php
$array = range(0, 1000, 1);
$benchmarks = [];
$runs = 100;
$benchmarks['foreach'] = function ($array) {
$newArray = [];
foreach ($array as $item) {
$newArray[] = $item * 2;
}
return $newArray;
};
foreach ($benchmarks as $code => $callable)
{
$start = microtime(true);
$collected = 0;
while ($collected < $runs) {
$collected++;
$callable($array);
}
$end = microtime(true);
printf('%s runs in %ss %s', $code, $end - $start, PHP_EOL);
}