Засекать время выполнения необходимо с самого начала, как только создается первый файл приложения. В первую очередь это поможет понять какие действия отнимают больше процессорного времени по мере наращивания функционала. Когда скрипт будет внушительных размеров, станет сложнее искать в нем “слабые места”; в плане нагрузки, и поэтому нужно всегда внимательно следить за временем и стараться оптимизировать в ходе разработки. Кстати на эту тему неплохая статья-перевод с ibm.com 5 полезных навыков для программирования на PHP.

Перейду к самому коду, способ измерения немного отличается в

PHP5 от его предшественника.

Вот как это делалось в PHP4:

function get_sec()
{
    $mtime = microtime();
    $mtime = explode(" ",$mtime);
    $mtime = $mtime[1] + $mtime[0];
    return $mtime;
}
$start_time = get_sec();

// выполнение действий

$exec_time = get_sec() - $start_time;
printf ("<!-- Время выполнения: %f сек.-->", $exec_time);

функция microtime() возвращает строкой секунды и микросекунды из timestamp, а нам необходимо преобразовать эту строку в вещественное число (секунды в десятичной дроби), этим и занимается наша функция get_sec().

В PHP5 можно получить сразу секунды в виде десятичной дроби:

$start_time = microtime(true);

// выполнение действий

$exec_time = microtime(true) - $start_time;

Как вы заметили, теперь чтобы получить, то что нам нужно, не требуется писать функцию, а можно просто передать true функции microtime().

Комментарии

comments powered by Disqus