LOGIN:

iMasters | Por uma internet mais criativa e dinâmica

Feeds

Segunda-feira, 02/06/2008 - 11:00 - Por Igor Escobar
Seções relacionadas:

12 dicas para otimizar seus códigos PHP

É 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.

Seguem 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

Todos os artigos de Igor Escobar

19 comentários publicados

  • 1. Muito legal

    Segunda-feira, 02/06/2008, por Caio Vinicio

    Valeu mesmo, concerteza vai ajudar muitos programadores como eu.

    • Igor Escobar - Segunda-feira, 02/06/2008

      Foi um prazer Caio.

    • Igor Escobar - Segunda-feira, 02/06/2008

      Foi um prazer Caio.

    Responder comentário
  • 2. ;)

    Segunda-feira, 02/06/2008, por Igor Escobar

    Foi um prazer Caio.

    Responder comentário
  • 3. Rasmus lerdor 9º FISL palestra

    Segunda-feira, 02/06/2008, por Helton Eduardo Ritter

    Essa do require_once() eu aboli depois da palestra do cara na FISL deste ano.
    O problema são as funções dentro de laços, as vezes não se consegue contornar... Boas dicas.

    Responder comentário
  • 4. Alternativa ao require_once

    Segunda-feira, 02/06/2008, por Gustavo Andrade

    Belo artigo, simples e útil! :)

    Qual seria a melhor alternativa ao require_once??

    Responder comentário
  • 5. Aspas, como e quando usar?

    Quarta-feira, 11/06/2008, por Jean Verissimo

    Pessoal,
    Aproveitando as digas do Igor, gostaria de saber em que momento deverá ser usado aspas simples (') e aspas dupla ("), se alguém puder compartilhar, agradeço.

    • Marcelo Sabadini - Quarta-feira, 27/08/2008

      Ola...
      Kra.. acho(eu disse q acho) q não existe um momento certo pra usar ' ou ". Eu particularmente, soh uso aspas simples pra acessar array e quando vou colocar HTML em uma variável(apenas para não ter q escapar as aspas duplas).

      Se alguem souber mais sobre o assunto por favor se pronuncie =)

    • Adler Medrado - Domingo, 14/09/2008

      Aspas simples é usado quando sua string for literal. Por exemplo: $nome = 'Adler Medrado';
      Já aspas duplas é quando sua string pode ter variáveis a serem interpretadas, por exemplo:
      $eu = 'Adler Medrado';
      $nome = "O nome é: $eu";
      Resultando em: O nome é Adler Medrado

      Se você colocar uma variável entre aspas simples, ela não será interpretada, por exemplo:
      $nome = 'O nome é: $eu';
      Resultando em: O nome é $eu

      Por esse motivo, usar aspas simples em detrimento de aspas duplas torna o código mais rápido.

      Espero ter ajudado.

    • Adler Medrado - Domingo, 14/09/2008

      Aspas simples é usado quando sua string for literal. Por exemplo: $nome = 'Adler Medrado';
      Já aspas duplas é quando sua string pode ter variáveis a serem interpretadas, por exemplo:
      $eu = 'Adler Medrado';
      $nome = "O nome é: $eu";
      Resultando em: O nome é Adler Medrado

      Se você colocar uma variável entre aspas simples, ela não será interpretada, por exemplo:
      $nome = 'O nome é: $eu';
      Resultando em: O nome é $eu

      Por esse motivo, usar aspas simples em detrimento de aspas duplas torna o código mais rápido.

      Espero ter ajudado.

    Responder comentário
  • 6. duvida

    Quarta-feira, 11/06/2008, por Raphael França Marques

    9. Supressão de erro com @ é muito lento;

    então como faço pra suprimir os erros sem usar @?

    Responder comentário
  • 7. Outras alternativas

    Quarta-feira, 11/06/2008, por Gustavo Andrade

    Igor, que soluções vc recomenda usar no lugar de require_once e o @ para suprimir os erro como o Raphael mencionou??
    Abraço!

    Responder comentário
  • 8. duvida/comentario sobre item 10

    Quinta-feira, 10/07/2008, por DragaO~ DragaO~

    Bom dia,

    muito bom artigo, algumas coisas eu jah usava "por natureza", outras eu vou tentar evitar sempre que puder, mas me surgiu a seguinte duvida :

    analisando o trecho de codigo abaixo
    <?
    $var = "algo";
    $row[$var];
    ?>
    de acordo com o item 10, este meu exemplo se encaixaria no "mais rapido" ou no "mais devagar" ?

    Abraço

    Responder comentário
  • 9. Duvida sobre o item 10

    Quinta-feira, 10/07/2008, por DragaO~ DragaO~

    Bom dia,

    muito bom artigo, algumas coisas eu jah usava "por natureza", outras eu vou tentar evitar sempre que puder, mas me surgiu a seguinte duvida :

    analisando o trecho de codigo abaixo
    <?
    $var = "algo";
    $row[$var];
    ?>
    de acordo com o item 10, este meu exemplo se encaixaria no "mais rapido" ou no "mais devagar" ?

    Abraço

    • Marcelo Sabadini - Quarta-feira, 27/08/2008

      Mais rápido.. pois $var é uma String.

      Kra.. se usar $row[algo] dependendo de uma configuração no php.ini(q me deu um branco agora e não lembro) o código nem iria rodar.

    Responder comentário
  • 10. &

    Quarta-feira, 27/08/2008, por Marcelo Sabadini

    Eu li uma vez que quando puder usar referência tmb ajuda muito no desempenho... por exemplo, uma função q comprara dois valores... ao inves dela receber os parametros $a e $b, ela receberia &$a e &$b.Tipo assim:

    function comparaValores(&$a, &$b){
    // bla bla bla
    }

    pq desta forma, quando o codigo entrar na função, as variáveis $a e $b vão apenas apontar para o endereço de memória das variáveis originais..

    Nunca testei pra ver se tem ganho no desempenho... mas desde então tenho usado referencias quando possivel...

    * se alterar a variável que aponta para outra, obviamente a 'as duas' vão mudar o valor...

    Responder comentário
  • 11. Algumas considerações

    Quarta-feira, 03/09/2008, por Charles Schaefer

    Perguntaram sobre o uso de aspas e apóstrofos. Utilizar aspas simples sempre que possível é mais rápido, pois evita q o PHP tenha de interpretar o que tem dentro da string. Aspas duplas só quando for necessário utilizar seqüências de escape (\n, \t, etc).

    Responder comentário
  • 12. Muito bom, mas...

    Terça-feira, 16/09/2008, por Aziz Vicentini

    é bom ver esse tipo de texto, mas ele deveria explicar pq fazer ou não fazer tal procedimento pq muitas pessoas com pouca experiência em php não entendem pq um procedimento acaba sendo mais lento do que outro ;)

    Responder comentário
  • 13. Muito bom!

    Sábado, 21/02/2009, por Felipe Corrêa

    Concerteza vai ajudar muita gente com essas dicas, parabéns pela iniciativa! :D

    Responder comentário

Poste um comentário


Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.

Sobre o autor

Igor Escobar é Formado em Desenvolvimento de Sistemas para Internet pelo Instituto Brasileiro de Tecnologia Avançada. Desenvolvedor web da Visie, escreve em veículos de tecnologia como o Web Insider e mantém um blog (www.igorescobar.com).


Indique para um amigo

captcha

TI SHOP Produtos iMasters

  • Lançamento: CD-ROM Treinamento Aplicado de SQL - Lançamento! Treinamento Aplicado de SQL - Aprenda a trabalhar com SQL com bancos de dados Oracle e SQL Server. São mais de 100 tópicos explicados por Mauro Pichilliani, um articulistas mais lidos do iMasters. Aproveite! Apenas R$ 69,90 no TI SHOP.
  • Lançamento: Livro iMasters "O Encontro de 2 Mundos"- Este livro conta com 56 crônicas de profissionais mais admirados e influentes do mercado brasileiro de Internet. Aproveite o preço especial para leitores do iMasters. Apenas R$ 40,00 e envio imediato!
  • DVD Curso Completo de Photoshop - Do conceito à finalização Lançamento! Curso Completo de Photoshop, em DVD, com mais de 230 aulas dividas em 4 módulos: conceito, básico, avançado e finalização. Apenas R$ 69,50 no TI SHOP - Frete com 50% de desconto
  • DVD Javascript Starter - Curso Completo Com mais de 9 horas de vídeo-aulas, é um curso completo sobre Javascript. Ideal para quem deseja aprender a linguagem. Apenas R$ 64,90 no TI SHOP - Frete com 50% de desconto!

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.