Только для читателей Lifeexample возможно открыть интернет-магазин на Moguta.CMS со скидкой в 15%

<<< jQuery добавить атрибут || PHP система плагинов на основе хуков (hooks) >>>

PHP время выполнения скрипта

06.12.2012
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

  • Оставить комментарий

    Не отвечать

    Подписаться на комментарии к этой статье по RSS

    Яндекс.Метрика