Вычисляем время работы скрипта
Скопировано
$start_time = microtime( true );
// код
$s = 0;
for( $i = 0; $i < 100000; $i++ ) {
$s++;
}
// конец кода
$time_elapsed = microtime( true ) - $start_time;
echo "Время выполнения: $time_elapsed сек.";
Показать код
Результат будет примерно такой:
Время выполнения: 0.0014278888702393 сек.
Стоит помнить, что при запуске одного и того же куска кода вы никогда не получите точного совпадения времени его выполнения. Оно всегда будет немного но разным. Это зависит от текущей загрузки сервера и выделенного вашему коду процессорного времени.
Если нужны более точные результаты измерений, то стоит повторить выполнение кода достаточно много раз, а затем вычислить среднее время. Например, так:
Скопировано
$iterations = 1000; // число повторов кода
$start_time = microtime( true );
for( $k = 0; $k < $iterations; $k++ ) {
// код
$s = 0;
for( $i = 0; $i < 100000; $i++ ) {
$s++;
}
// конец кода
}
$time_elapsed = ( microtime( true ) - $start_time ) / $iterations;
echo "Время выполнения: $time_elapsed сек.";
Показать код
Результат будет примерно такой:
Время выполнения: 0.0014018750190735 сек.
Время работы PHP скрипта в днях, часах, минутах, секундах
Если предполагается, что скрипт будет работать достаточно долго, то удобнее привести время его выполнения в человекоудобный вид.
Скопировано
$start_time = microtime( true );
sleep( 77 );
$total_sec = microtime( true ) - $start_time; // время работы в секундах
// переведем секунды в дни, часы, минуты и секунды
$total_min = $total_sec / 60;
$total_hour = $total_min / 60;
$sec = floor( $total_sec ) % 60;
$min = floor( $total_min ) % 60;
$hour = floor( $total_hour ) % 60;
$day = floor( $total_hour / 24 );
$text = '';
if( $day ) $text .= "$day д. ";
if( $hour ) $text .= "$hour ч. ";
if( $min ) $text .= "$min м. ";
$text .= "$sec с.";
echo "Время работы скрипта: $text";
Показать код