Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Dicas para otimizar seu código PHP

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Dica Dicas para otimizar seu código PHP

    1. Se um método pode ser estático, declare-o estático. Ficará até 4x mais rápido.

    2. echo é mais rapido que print.

    3. Prefira usar echo com múltiplos parâmetros ao invés de concatenar string.


    echo "parametro um", $var , "outro parametro";

    4. Defina o valor máximo do loop antes do for e não no for.


    for($i=0; $i < count($array); $i++) { // Errado // A função count será chamada a cada vez que for resolver o loop! }


    $max_for = count($array); for($i=0; $i < $max_for; $i++) { // Certo!! // Contar o array antes de entrar no loop!! }


    5. Sempre dê unset em variáveis que não serão mais usadas, principalemente grandes arrays.

    6. Tente não usar métodos mágicos, como: __get, __set, __autoload

    7. require_once() pode custar caro, prefira o include_once dependendo da necessidade.

    8. Use caminhos completos em includes e requires, o PHP gastará menos tempo resolvendo os caminhos.

    9. Se você deseja saber o momento em que o script começou a ser executado, $_SERVER[’REQUEST_TIME’] é melhor que time()

    10. Se puder, use strncasecmp, strpbrk e stripos no lugar de funcões regex.

    11. str_replace é mais rápida que preg_replace, mas strtr é ainda 4x mais rápido que str_replace.

    12. Se uma função como troca de string, aceitar tanto arrays quanto caracteres unicos e a sua lista de argumentos não for muito longa, considere escrever algumas vezes o mesmo código passando um caracter por vez ao invés de uma linha passando arrays nos argumentos de pesquisa e troca.

    13. É melhor usar switch/case do que multiplos if’s e else.

    14. Usar supressão de erros com @ na frente da função deixa muito lento.

    15. Ative o mod_deflate do apache (modulo de compressão de resposta).

    16. Feche as conexões ao banco de dados quando você não for mais usa-las.

    17. $row['id'] é 7x mais rápido que $row[id]

    18. Mensagens de erros tem custo elevado, desligue-as em produção.

    19. Em cada requisição seus scripts PHP são recompilados, use uma solução de cache, isso pode te dar um ganho de 25 a 100%. Quando possível use memcached – memcached é um objeto de memória cache, utilizado para aliviar a carga do dados em aplicações dinamicas.

    20. Incrementar uma variavel local em um método é 2x mais rápido que incrementar uma variável global.

    21. Faça Profile do seu código. Um profiler mostra quanto tempo cada parte do seu código consome. A extensão Xdebug já contém um profiler.

    22. Incrementar uma propriedade ( $this->prop++) é 3x mais lento que incrementar uma variável local.

    23. Incrementando uma variavel local não definida é de 9x a 10x mais lento do que uma variavel local pré-inicializada.

    24. Declarando uma variável global sem usá-la em uma função também atrasa as coisas.

    25. A invocação de métodos é independente do número de métodos definidos em uma classe, em uma classe qualquer onde se adicionou 10 metódos não teve mudança de performance.

    26. Métodos de classes derivadas rodam mais rápido do que aqueles definidos na classe base.

    27. Use ‘ ao invés de ” em strings quando não for preciso usar variaveis ou escapes, assim o PHP não necessita procurar e interpretar esses caracteres especiais.

    28. Prefira usar HTML puro se for possível, scripts PHP são de 2 a 10x mais lentos.

    29. Faça uso das inúmeras funções pré-definidas.

    30. Quando lidar com string e precisar verificar se a string possui certo tamanho, você entendidamente desejará usar a função strlen(). Essa função é bastante rápida, já que ela não faz nenhum calculo, apenas retorna o tamanho já conhecido da string disponível na estrutura zval(estrutura interna do C usada para guardar variaveis PHP). No entanto como strlen() é uma função, ainda assim é lenta, porque o PHP precisa fazer varias operações como lowercase e buscas na hashtable, e em seguida executar a dita função. Você poderá aumentar a velocidade do seu código usando um truque com isset().




    // quantidade de caracteres é menor que 5? if (strlen($foo) < 5) { echo "Variável muito pequena."; }

    // posição 5 desta variável esta setada? if (!isset($foo{5})) { echo “Variável muito pequena.”; }


    Usando isset() será mais rápido que strlen(), porque diferente de strlen(), isset() é um construtor de linguagem e não uma função, isso quer dizer que a sua execução não necessita busca na hashtable nem uso de lowercase. Virtualmente você não sobrecarga o código atual para determinar o tamanho da string.

    31. Quando incrementando ou decrementando o valor de uma variavel, $i++ normalmente é mais lenta que ++$i. Isso é especifico para PHP, ou seja, não se aplica a outras linguagens, não sai por ai modificando seu código java ou C. Isso se da porque $i++ usa 4 opcodes enquanto ++$i precisa de somente 3.

    32. Nem tudo precisa ser OOP, gera muita sobrecarga, cada chamada de método e objeto consome um monte de memória.

    33. Não aplicar cada estrutura de dados como uma classe, arrays são utéis também.

    34. Não divida muito os métodos, pense bem cada código que será reusado.

    35. Você sempre poderá dividir o código no futuro, caso necessário.
    Tem Hackers que usam os 10 dedos da mão para digitar, sem desperdiçar o dedão na barra de espaçosigpic
    Similar Threads

  • Font Size
    #2
    muito obrigado pelo post!
    sh0w de bola.
    Código PHP:
    <?php

    namespace Go\To\EvilC0de;

    use 
    DrSpy;

    (new 
    DrSpy())->addToGroup(
    'Pr0j3ct046'
    );
    echo 
    'http://www.zone-h.org/archive/notifier=Pr0j3ct%20046';
    echo 
    'http://zone-h.org/archive/notifier=1923Turk';

    Comment

    X
    Working...
    X