É sempre útil ler algumas dicas rápidas para melhorar a sua codificação, geralmente temos vícios que adquirimos no dia-a-dia que sem sabermos tornam o nosso código mais lento.
Segue abaixo 12 dicas para melhorar o processamento dos seus códigos PHP.
1. Se um método pode ser static, declare-o como static! O desempenho aumenta 4 vezes
2. Evite utilizar metódos mágicos como __get, __set e __autoload, se possível
3. require_once() é dispensável e demanda bastante memória
4. Use caminhos completos (full path) nos includes e requires, pois é gasto menos tempo resolvendo os caminhos do sistema operacional
5. Se você quer descobrir o tempo em que o script começou a ser executado, é preferível utilizar $_SERVER[‘REQUEST_TIME’] do que time()
6. Veja se pode utilizar strncasecmp, strpbrk e stripos ao invés de regex
7. str_replace é mais rápido que preg_replace, mas strtr é 4 vezes mais rápido que str_replace
8. Se uma função, como de substituição de strings, aceitar tanto arrays como caracteres simples como argumentos, e se a sua lista de argumentos não é muito longa, considere fazer algumas declarações redundantes de substituição, passando um caractere por vez, ao invés de uma linha de código que aceita arrays como argumentos de busca e substituição
9. Supressão de erro com @ é muito lento
10. $row[‘id’] é 7 vezes mais rápido que $row[id]
11. Mensagens de erro demandam mais processamento
12. Não utilize funções dentro de loops, como por exemplo: for ($x=0; $x < count($array); $x). A função count() é chamada todas as vezes que o loop é executado.
Fonte: http://www.moskalyuk.com/blog/php-optimization-tips/1272
Será que essas dicas compensam? require_once pode ser até 100 vezes mais rápido do que require sozinho… mas a diferença de 0.1ms pra 10ms não é tão grande, e require_once é muito mais simples pra manter. (Assim como __get, expressões regulares, autoloading e por aí vai).
Algumas dicas também são potencialmente equivocadas. Não se usam atributos estáticos em uma classe pela performance, você usa quando precisa de um atributo intrínseco a classe e não ao objeto…
LikeLike
É só uma questão de colocar na balança o que eu ganho e o que eu perco e ver o que vale a pena e o que não vale. Assim com a W3C é um grupo que escreve “recomendações” e normas todas elas estão lá para VOCÊ decidir se vai ou não aderir.
A recomendação não faz a regra. Quem faz a regra é você. A experiência de cada um faz o uso de cada recomendação.
LikeLike