Как запустить функцию 1000 раз и вернуть microtime() того, сколько времени это заняло?
Я хочу протестировать производительность нескольких функций PHP. Какой самый простой способ повторить код 1000 раз и вернуть, сколько времени все это заняло через microtime()?
Может быть, повторный цикл? Недавно на SO я наткнулся на очень простой код, но забыл его добавить в избранное.
2 ответа
Решение
Что в этом такого сложного? Давайте изменим этот пример из PHP Manual
<?php
$time_start = microtime(true);
$times=0; // This couldn't be tough
while($times<1000)
{
yourFunction();
$times++;
}
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "Did yourFunction in $time seconds\n";
?>
Вы можете использоватьforeach
и функция range()
<?php
$start = microtime(true);
foreach(range(0, 1000) as $i) {
yourFunction();
}
echo "Your function runs for " . (microtime(true) - $start) . " seconds";