Publicidade (Anuncie Aqui)

Dicas para otimizar o seu código PHP

Vou falar aqui sobre algumas pequenas dicas que você pode levar em conta na hora de escrever o seu script e que vão acabar deixando a sua aplicação um pouco mais rápida.

Vamos ao que interessa:

  • Chamar um método (de um objeto) é mais rápido do que usar o “_call”
  • Chamar uma função é mais rápido do que chamar um método de um objeto
  • Acessar uma variável local é sempre mais rápido do que acessar uma variável global
  • Acessar uma variável global é sempre mais rápido do que acessar a propriedade de um objeto
  • Acessar uma variável definida é mais rápido do que acessar uma variável não definida
  • Usar caminhos absolutos no include() e require() é mais rápido do que caminhos relativos
  • Combinar vários scripts em um arquivo só e usar include() é mais rápido do que usar vários include()
  • O switch() é mais rápido do que o if … else if … else if … else em alguns casos
  • Não use expressão regular para processamento e validação de strings simples
  • Evite usar o @ antes de uma função (supressor de erros)
  • Evite mensagens de erro notices e warnings
  • Evite usar variáveis não definidas e parâmetros de métodos não utilizados
  • Definindo o tipo de variável da propriedade (do método) diminui o tempo de chamada
  • Destrua variáveis que contenham muitos dados usando o unset()
  • A variável $_SERVER['REQUEST_TIME'] contém o tempo de execução inicial do script
  • Cacheie o output para evitar consumo de recursos
  • echo é mais rápido que print
  • Strings entre aspas únicas (‘…’) são processadas mais rápidas que strings em aspas duplas (“…”)
  • O pré-incremento (++$n) é mais rápido que o pós-incremento ($n++)
  • Usar o isset() é mais rápido que usar o array_key_exists()
  • Um array é uma alternativa mais rápida para um método com vários parâmetros
  • O foreach() é mais rápido que o for() em vários casos
  • Não busque por colunas de tabelas que você não irá usar no seu script
  • Combine várias queries em um se o seu banco de dados suportar isso

Se você usar essas dicas você pode ter certeza que está contribuindo para um bom funcionamento da sua aplicação… Mas vale lembrar que essas providências estão longe de tornar a sua aplicação extremamente rápida. Você precisará de outros recursos mais poderosos como cacheamento de alto nível e uma boa integração com os recursos físicos disponíveis para a aplicação.

Todas essas dicas se tornam inuteis se você não fez um bom planejamento antes de começar a trabalhar a sua aplicação. “Ir fazendo” nunca é melhor do que “Já saber o que precisa(rá) ser feito”. Guardem essa dica!

Veja mais algumas várias dicas (em inglês) aqui: http://www.phpbench.com/

Quem tiver alguma outra dica para deixar um script mais rápido e eficiente é só falar.

Por hoje, é só! ;)

Você também vai gostar de ler:

Postado em PHP, Tutoriais

Com as tags , , , , , , , , , ,

Escrito por Thiago Belem

Gostou desse artigo?

Não se esqueça de assinar o RSS e divulgue-o para o mundo:

  • Claudio Myst
    Valeu hiago pela resposta e tenho o mesmo costume que vc então, não gosto de colocar html com echo a não ser que seja necessário.

    Obrigado por esclarecer mais essa.
  • Claudio Myst
    Ótimas dicas e aproveitando, se você puder me tirar uma dúvida eu agradeço.
    Fazer várias aberturas e fechamentos no php causa alguma diminuição na performance do sistema.

    Em alguns caso é muito simples fazer um fechamento e depois abrir novamente para continuar o código do que ficar fazendo vários echo para imprimir um html, mas sempre tive dúvidas se isso atrapalha em alguma coisa, acredito que é melhor para a performance do sistema já que html não requer o processamento pelo sistema como o php, mas não sei bem se minha idéia está correta.
  • @Claudio
    Eu nunca vi redução de performance quando usamos várias tags PHP... Eu pessoalmente faço assim:
    [code language="php" light="true"]<?php if ($nota >= 7) { ?>

    Aprovado!


    <?php } else { ?>

    Reprovado!


    <?php } ?>[/code]
    Me recuso a colocar HTML dentro de um echo. :)
  • Fala Renato,

    Tecnicamente o include_once() deve ser um pouco mais lento que o include() pois ele precisa fazer uma verificação se o arquivo já foi incluido ou não (veja a função get_included_files(). Mas acredito que a diferença seja minima por se tratar um array.

    Abraços
  • Thiago,
    Gostaria de saber se, pro carregamento do site, é mais interessante usar o include ou o include_once, e se este segundo faz alguma verificação (demorando assim, mais tempo) para ver se aquela informação já foi incluida.
    Belo post!
  • washington
    include é mais rápido
  • Legal!.
    Valeu thiagãão!
blog comments powered by Disqus