This Might Be Useful

Подсчет времени работы скрипта

Проблема производительности кода все так же актуальна, как и несколько лет назад. Особенно это качается web-приложений, в которых пользователь просто должен сидеть и ждать, пока отработает скрипт на сервере. Именно по этой причине часто необходимо померить, сколько же времени на самом деле работал скрипт. Сделать это не сложно. Но лично я постоянно забываю этот кусочек кода. Поэтому и пишу эту заметку :).

Для удобства предположим, что написанное будет частью некоего класса.

Объявляем необходимые переменные и создаем три функции:

PHP:
  1. var $stime, $etime, // временные переменные для подсчетов
  2.     $worktime; // собственно счетчик
  3.  
  4. function start_time_counting() {
  5.     $this->stime = explode(" ", microtime());
  6.     $this->stime = $this->stime[1] + $this->stime[0];
  7. } // start_time_counting
  8.  
  9. function end_time_counting() {
  10.     $this->etime = explode(" ", microtime());
  11.     $this->etime = $this->etime[1] + $this->etime[0];
  12.     $this->worktime += $this->etime - $this->stime;
  13. } // end_time_counting
  14.  
  15. function get_work_time() {
  16.     return substr($this->worktime, 0, 5);
  17. } // get_work_time

Теперь когда нам нужно будет начать считать время мы вызовем start_time_counting(), для остановки счетчика вызовем end_time_counting(). После этого по необходимости можем получить информацию о том, сколько было затрачено времени: get_work_time().

· Переключение часов на 24-часовой режим
· Создание и вывод календаря
· Поддержка прозрачности PNG в IE6
· Конвертация DOS/Windows batch-файлов в *nix shell-скрипты и обратно
· Valid XHTML Flash SWF Objects embedding (updated)

- Коментировать
- Trackback

2 Responses to “Подсчет времени работы скрипта”


  1. stash Says:

    я бы предложил завести какой-нить единый файл, который все выши скрипты будут включать (ну типа инициализации), и в нем запрегистрировать "функцию останова" (register_shutdown_function) в котороый собт-но и делать (выводить, считать разницу)...

  2. Filosoff Says:

    можно. собственно, это зависит от того, что пишешь.
    в данном случае можно у каждого класса спросить, сколько времени он потратил.

Leave a Reply

code