E ai, pessoal! Como estão?
Vamos continuar nossa série de artigos sobre bibliotecas PHP úteis para nosso desenvolvimento no dia a dia. Hoje trago para vocês um componente do PHPUnit que é muito interessante para verificarmos quanto tempo está levando o processamento de um componente, verificar o quanto de recursos está sendo utilizado na execução de seu script PHP, ou simplesmente caso você queira criar um timer durante uma chamada.
O php-timer é um recurso padrão do PHPUnit, porém, foi extraído em um componente standalone. E é facilmente utilizável em seus projetos. Sem mais delongas, vamos aos exemplos de utilização:
Criamos uma pasta phptimer e executamos o composer require.
composer require phpunit/php-timer
Vamos fazer um teste no script para verificar o tempo gasto caso não realizemos nenhuma iteração dentro do script. Salvaremos como phptimer.php
<?php
require_once('vendor/autoload.php');
use SebastianBergmann\Timer\Timer; //carregando a biblioteca Timer
Timer::start(); //iniciando o Timer
$time = Timer::stop(); //pausando o Timer
var_dump($time); //dando var_dump na variável do Timer
print Timer::secondsToTimeString($time); //exibindo o tempo gasto durante a execução do Timer
E a execução trará o seguinte retorno:
Agora, vamos implementar uma função de fatorial, apenas como exemplo.
<?php
require_once('vendor/autoload.php');
use SebastianBergmann\Timer\Timer; //carregando a biblioteca Timer
Timer::start(); //iniciando o Timer
function fatorial($numero){ //exemplo de função que calcula o fatorial
if($numero <= 1){
return $numero;
}else{
return $numero * fatorial($numero - 1);
}
}
$numero = 100;
$fatorial = fatorial(10); //executando o fatorial de 10
print ($fatorial . PHP_EOL); //exibindo o resultado
$fatorial1 = fatorial(50); //executando o fatorial de 50
print ($fatorial1 . PHP_EOL); //exibindo o resultado
$fatorial2 = fatorial(100); //executando o fatorial de 100
print ($fatorial2 . PHP_EOL); //exibindo o resultado
$time = Timer::stop(); //pausando o Timer
var_dump($time); //dando var_dump na variável do Timer
print (PHP_EOL);
print Timer::resourceUsage(); //exibindo o total de recursos gastos.
E, depois da execução teremos por exemplo:
Bem, você pode utilizar o carregamento de outras bibliotecas, ou coisas que consomem mais tempo e mais memória para executar.
Espero que tenham gostado dessa biblioteca. Um grande abraço e até a próxima!