Carlos Gonçalves: Bem Vindo à Web 2.0! Este blog é direccionado a todos os níveis de web designers e programadores. Todos os assuntos serão discutidos, incluindo CSS, Javascript, Java, PHP, entre outros!

Optimização PHP – Utilizar um Temporizador

Uma das melhores partes de ser programador é que aparentemente há sempre uma melhor forma de fazer as coisas. Um simples código pode melhorar drasticamente o tempo de execução da tua aplicação web. Quanto mais rápida a tua aplicação for, mais rapidamente libertas os preciosos recursos do servidor.

Temporizador

Temporizador

O primeiro passo para optimizares a tua aplicação, é saber quais são as partes do teu site que precisam de ser melhoradas. As tuas consultas MySQL demoram demasiado tempo? Estás a utilizar funções eficientes? Estás a utilizar recursos desnecessários do servidor?

Nas minhas aplicações web, geralmente utilizo uma classe temporizador, para aferir o tempo das consultas, funções, e as páginas demoram a carregar.

A Função

class temporizador
{
	var $iniciar;
	var $pausar;

	/*  Construtor do Temporizador  */
	function temporizador($iniciar= 0)
	{
		if($iniciar)
		{
			$this->iniciar();
		}
	}

	/*  Inicia o Temporizador  */
	function iniciar()
	{
		$this->iniciar= $this->get_time();
		$this->pausar = 0;
	}

	/*  Pausar o Temporizador  */
	function pause()
	{
		$this->pausar = $this->get_time();
	}

	/*  Continuar (após estar pausado) o Temporizador  */
	function unpause()
	{
		$this->iniciar += ($this->get_time() - $this->pausar);
		$this->pausar = 0;
	}

	/*  Obter o valor actual do temporizador  */
	function get($decimais= 8)
	{
		return round(($this->get_time() - $this->iniciar),$decimais);
	}

	/*  Formatar o tempo em segundo  */
	function get_time()
	{
		list($usec,$sec) = explode(' ', microtime());
		return ((float)$usec + (float)$sec);
	}
}

Como Usar

$temporizador  = new temporizador  (1); // Construtor inicializa o temporizador, então não é preciso sermos nós a fazê-lo
/*
 ... mysql query ...
*/
$query_time = $temporizador->get();
/*
 ... Processar a Página...
*/
$tempo_processamento = $temporizador->get();

O Output

<!-- Esta página demorou 2.28479478 segundos a carregar.  Podes Fazer Melhor! -->

Depois de saberes qual a parte do site precisa ser melhorada, é muito mais fácil tornar o código mais eficiente, se o teu código estiver bem comentado e organizado.

Partilha e Desfruta:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Live
  • MySpace
  • Print
  • Twitter
  • DZone
  • email
  • LinkedIn
  • MSN Reporter
  • PDF
  • Reddit
  • Twitthis
  • Yahoo! Bookmarks

Posts Relacionados:


Muito FracoFracoRazoávelBomMuito Bom (Nenhum voto por enquanto)
Loading ... Loading ...

Você pode seguir os comentários deste artigo pelo Feed RSS 2.0.