Alejandro Moraga 28 December 2010 – 5:09 pm

Tempo de execução de script em PHP

<?php

function timer($k) {
	static $s = array();

	// se a chave não existir é criado um tempo para ela
	if (empty($s[$k]))
		$s[$k] = microtime(true);

	// se ela existir é retornado a diferença entre o agora e o seu valor
	else
		return microtime(true) - $s[$k];
}

?>

Exemplos:

// cria um momento para 1
timer(1);

sleep(3);

// cria um momento para 2
timer(1);

for ($i=0; $i < 100000000; $i++);

// mostra o tempo de execução para 2
echo timer(2);

// cria um momento para 3
timer(3);

file_get_contents('http://www.alejandromoraga.com.br/');

// mostra o templo de execução para 3
echo timer(3);

// mostra como seria voltar para 2
echo timer(2);

// mostra o tempo de 1, todas as execuções
echo timer(1);

Resultados

9.24874997139 (momento 2 - laço de 100000000 repetições)
0.300006866455 (momento 3 - requisição)
9.54882502556 (momento 2 - acresc)
12.5501468182 (somatória, incluíndo os 3 segundos iniciais)