Как измерить время работы скрипта на php.
Работая над оптимизацией высоко нагруженных проектов нередко необходимо замерять время работы скрипта, чтобы было что и с чем сравнивать. Для php можно использовать простейшую функцию microtime(), с помощью которой можно набросать небольшой код для замера времени:
1 2 3 4 5 6 7 8 9 |
<?php $start = microtime(true); // какие-то действия ... $end = microtime(true); $time = $end - $start; printf('Время работы скрипта: %.3F сек.', $time); |
Первый вызов функции microtime() необходимо поместить в самом начале скрипта, а второй — после его последней строки. Вычтя одно время из другого, мы, собственно, и получим разницу — время работы самого скрипта. Параметр true, передаваемый функции, позволяет получить значение с «плавающей» точкой — float. В конце мы используем функцию printf для форматирования и вывода на экран значения с тремя знаками после запятой. Если вам необходима большая точность, то есть больше знаков — замените тройку на нужное число.
Давайте поэкспериментируем. Создадим цикл от 0 до 10000 и будем в нем просто выводить на экран строку «Тест» с помощью разных функций и операторов.
echo
1 2 3 4 5 6 7 8 |
<?php $start = microtime(true); for ($i = 0; $i < 10000; $i++) { echo ("Тест"); } $end = microtime(true); $time = $end - $start; printf('Время работы скрипта: %.3F сек.', $time); |
На моей машине результаты получаются в диапазоне от 0.008 до 0.009.
Проверим, как быстро работает print_r():
1 2 3 4 5 6 7 8 |
<?php $start = microtime(true); for ($i = 0; $i < 10000; $i++) { print_r("Тест"); } $end = microtime(true); $time = $end - $start; printf('Время работы скрипта: %.3F сек.', $time); |
Результаты от 0.030 до 0.035.
Как видим, echo() работает по-шустрее, поэтому именно этот оператор и рекомендуется использовать.
Вот таким вот образом, можно сравнивать не только быстродействие отдельных функций, но и время работы вашего скрипта первой версии с последующими.
Категория: PHP-скрипты
Спасибо. Я начал осваивать PHP. Как раз такой практики ине хватает.