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

Скопировано
$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";
Показать код