Dicas para um PHP mais veloz
Salve
Viu? não demorou muito para um novo artigo ![]()
Vou passar a vocês uma materia que peguei há algum tempo em inglês… mais abaixo coloco as referências.
Trata-se de uma lista de dicas para o desenvolvimento PHP. Aproveitem.
1. echo
Por questão de performance: use ‘echo’ ao invés de ‘print’, e se for usar muitas concatenações, lembre-se de usar ‘,’, como faríamos com argumentos em uma função, ao invés de ‘.’. Em testes simples a diferença é pouco sensível, mas em uma operação em que um grande conteúdo será jogado para o buffer de saída faz muita diferença.
2. chamada de funções em condições de iterações
Imagine o seguinte código:
<?
$a = array(1,2,3);
for($i = 0; $i < count($a); $i++){
//...
}
?>
Sabemos que count será executado 3 vezes. Imagine se $a tivesse 10000 itens? Podemos melhorar isso se fizermos o seguinte:
<?
$a = array(1,2,3);
$c = count($a);
for($i = 0; $i < $c; $i++){
//...
}
?>
Reduzimos a chamada a count a uma unica vez sempre. Qual o nosso ganho? mais da metade do tempo, fazendo uma iteração com 10000 itens. Isso se você precisa que realmente seja um for. Se for uma iteração em um array, como é este caso, voce vai se surpreender se usar foreach.
<?
$a = array(1,2,3);
foreach($a as $i => $each){
//...
}
?>
3. armazenar strings para echo
Você realmente precisa ter em uma variável tudo o que vai “echoar”? Se não for necessário armazenar, “echoe” diretamente a string
<? echo "Faça isso<br />"; $s = "Ao invés disso"; echo $s; ?>
4. notação de strings
Você sabe a diferença de ‘ e “ para o PHP? o primeiro (aspas simples) armazenam a string como você escrever nela. O segundo permite o uso de metacarateres (\n para quebras de linha, por exemplo), uso de variáveis (“$var é uma variável”), portanto o PHP tem que verificar o que há nesse contexto para só então armazenar a string. O ganho em performance não é tão sensível, mas para um script lento, qualquer ajuda vale muito.
5. str_replace vs ereg_replace vs preg_replace
Taí um teste que me surpreendeu quando fiz a primeira vez. Quando for simplesmente trocar uma sentença por outra em uma string (sem o uso de uma expressão regular mais complexa), utilize o str_replace: é ela faz o trabalho das outras duas em aproximadamente 40% do tempo.
Senhores (e senhoras, por que não?), essas é a primaria parte da série de 3 no original, que vou postar nos próximos dias. Ao final, adicionarei algumas dicas próprias. Abaixo seguem os links para os três capitulos.
tips-for-faster-php-scripts
more tips for faster php scripts
even more tips for faster php script
Sugiro também que dêem uma olhada em meus bookmarks no del.icio.us
Até o próximo artigo
apenas um comentário
Leave a reply

Muito bom Draco