За последние 24 часа нас посетили 19572 программиста и 1603 робота. Сейчас ищет 891 программист ...

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

Тема в разделе "PHP для новичков", создана пользователем inline, 25 фев 2011.

  1. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    Как правильно обсчитать время выполнения скрипта?
     
  2. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    В шапку:
    PHP:
    1. function get_sec()
    2. {
    3.     $mtime = microtime();
    4.     $mtime = explode(" ",$mtime);
    5.     $mtime = $mtime[1] + $mtime[0];
    6.     return $mtime;
    7. }
    8. $start_time = get_sec();
    в футер:

    PHP:
    1. $exec_time = get_sec() - $start_time;
    2. printf ("<!-- Время выполнения: %f сек.-->", $exec_time);
    p.s код не мой =0
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    угу. все запросы во время выполнения скрипта не входят. надо перед каждым "ставить на паузу" таймер =)
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    одним разом я даже создал такой класс:
    PHP:
    1. <?
    2. class timer {
    3.   private $start = 0;
    4.   private $stop = 0;
    5.   private $running = false;
    6.   private $time = 0;
    7.  
    8.   function reset () {
    9.     $this->time = 0;
    10.     $this->running = true;
    11.     $this->start = microtime(true);
    12.   }
    13.  
    14.   function start () {
    15.     if (!$this->running) {
    16.       $this->running = true;
    17.       $this->start = microtime(true);
    18.     }
    19.   }
    20.  
    21.   function check () {
    22.     if ($this->running) {
    23.       return $this->time + microtime(true) - $this->start;
    24.     } else {
    25.       return $this->time;
    26.     }
    27.   }
    28.  
    29.   function stop () {
    30.     $this->stop = microtime(true);
    31.     $this->running = false;
    32.     $this->time += $this->stop - $this->start;
    33.     return $this->time;
    34.   }
    35. }
    соотв можно чекать и не останавливать, можно остановить и получить значение, потом можно кажется можно запустить и считать дальше. Ну и ресет.