Только для читателей Lifeexample возможно открыть интернет-магазин на Moguta.CMS со скидкой в 15%
PHP время выполнения скрипта
Здравствуйте, уважаемые читатели блога LifeExample, частенько при разработке веб-приложений, возникает задача отследить время выполнения php скрипта. Это нужно в первую очередь для того, чтобы понять насколько быстро, а следовательно и производительно, работает тот или иной кусок программного кода.
Зная время потраченное на выполнение php скрипта, можно оптимизировать код и тем самым ускорить его выполнение.
Чтобы комфортно оптимизировать код проекта на PHP, нужно уметь вычислять время его выполнения. Сегодня я покажу вам, как отследить в php, время выполнения скрипта.
Как определить в php время выполнения скрипта
Данная задача очень легко решается при использовании встроенной функции microtime().
microtime() – вызвав эту функцию мы получим текущий Unix time stamp в микросекундах.
Функцию microtime() можно использовать как секундомер, вызвав ее дважды мы можем вычислить время прошедшее в этот период.
1 2 3 4 5 | $start = microtime(true); usleep(320); $end = microtime(true); $runtime = $end - $start; echo "Время выполнения php скрипта в микросекундах: ". $runtime; |
При выполнении этого php скрипта мы получим надпись:
Время выполнения php скрипта в микросекундах: 0,00039400000000001
Задача решена, но в таком виде не очень удобно анализировать скорость. Предлагаю округлить полученное число до десятитысячной доли, таким образом:
1 | echo "<br/> Время выполнения php скрипта в микросекундах:". round($runtime, 4) . " микросекунд"; |
Теперь текст, примет вид:
Прошло времени в микросекундах: 0,0004 msec
Ну и для еще большей удобность предлагаю преобразовать микросекунды, в миллисекунды умножив полученное число на 1000, поскольку в одной миллисекундах ровно 1000 микросекунд.
1 | echo "<br/> Время выполнения php скрипта в микросекундах:". 1000 * round($runtime, 4) . " миллисекунд"; |
Теперь зная как в php время выполнения скрипта определить, мы сможем приняться за оптимизацию самых различных частей кода, желаю вам в этом успехов. Пишите в комментариях, кто и как оптимизирует свои скрипты.
Читайте также похожие статьи:
Чтобы не пропустить публикацию следующей статьи подписывайтесь на рассылку по E-mail или RSS ленту блога.
Комментарии
Простите, что? Чтобы получить значение в миллисекундах, нужно микросекунды умножить на 1000? Ну, это просто новое слово в арифметике. Позвольте Вас поправить — умножив микросекунды на 1000, мы получим значение в пикосекундах. Для того, чтобы получить миллисекунды, нужно делить на 1000. А Ваш скрипт до умножения на 1000 выводит результат в секундах, после умножения на 1000, правильно в миллисекундах. Все потому, что microtime возвращает секунды с микросекундами, а не микросекунды и $end — $start = результат в секундах, а не в микросекундах.
Спасибо за поправку, вы правы!
Функция microtime() возвращает текущую метку времени с микросекундами.
При вызове без необязательного параметра, возвращается строка в формате «msec sec», где sec — это количество секунд, прошедших с начала Эпохи Unix