Pergunta

O que é mais rápido, páginas da web em python ou páginas da web em php?

Alguém sabe como a velocidade dos pylons (ou de qualquer outro framework) se compara a um site semelhante feito com php?

Eu sei que servir uma página base em python via cgi é mais lento que php por causa de sua longa inicialização sempre.

Gosto de usar pylons e ainda o usaria se fosse mais lento que o php.Mas se os postes fossem mais rápidos que o php, talvez eu pudesse, com sorte, eventualmente convencer meu empregador a me permitir converter o site em postes.

Foi útil?

Solução

Parece que você não quer comparar os dois línguas, mas que você deseja comparar dois sistemas web.

Isso é complicado porque há muitas variáveis ​​envolvidas.

Por exemplo, aplicativos web Python podem aproveitar mod_wsgi para se comunicar com servidores web, o que é mais rápido do que qualquer uma das maneiras típicas pelas quais o PHP se comunica com servidores web (mesmo o mod_php acaba sendo mais lento se você estiver usando o Apache, porque o Apache só pode usar o Prefork MPM com mod_php em vez de multi-threaded MPM como Trabalhador).

Há também a questão da compilação do código.Como você sabe, Python é compilado just-in-time para código de bytes (arquivos .pyc) quando um arquivo é executado sempre que o arquivo é alterado.Portanto, após a primeira execução de um arquivo Python, a etapa de compilação é ignorada e o interpretador Python simplesmente busca o arquivo .pyc pré-compilado.Por causa disso, pode-se argumentar que o Python tem uma vantagem nativa sobre o PHP.No entanto, otimizadores e sistemas de cache podem ser instalados em sites PHP (meu favorito é Acelerador eletrônico) com praticamente o mesmo efeito.

Em geral, existem ferramentas suficientes para que um possa fazer praticamente tudo o que o outro pode fazer.É claro que, como outros mencionaram, há mais do que apenas velocidade envolvida no caso de negócios para mudar de idioma.Temos um aplicativo escrito em oCaml no meu empregador atual, o que acabou sendo um erro porque o autor original deixou a empresa e ninguém mais quer mexer nele.Da mesma forma, a comunidade PHP-web é muito maior que a comunidade Python-web;Os serviços de hospedagem de sites são mais propensos a oferecer suporte a PHP do que suporte a Python;etc.

Mas voltando à velocidade.Você deve reconhecer que a questão da velocidade aqui envolve muitas partes móveis.Felizmente, muitas dessas peças podem ser otimizadas de forma independente, proporcionando vários caminhos para buscar ganhos de desempenho.

Outras dicas

Não faz sentido tentar convencer seu empregador a migrar de PHP para Python, especialmente para um sistema existente, que é o que acho que você sugeriu em sua pergunta.

A razão para isso é que você já tem um sistema (presumivelmente) funcionando, com um investimento existente de tempo e esforço (e experiência).Descartar isso em favor de um ganho trivial de desempenho (não que eu esteja afirmando que haveria um) seria tolice, e nenhum gestor que se preze deveria endossá-lo.

Também pode criar um problema de manutenção, dependendo de quem mais trabalha com o sistema e de sua experiência com Python.

Eu diria que o PHP (> 5,5) é mais rápido e confiável para aplicativos da Web complexos porque é otimizado para scripts de sites.

Muitos dos benchmarks que você encontrará na rede são feitos apenas para provar que o idioma preferido é melhor.Mas você não pode comparar 2 idiomas com uma tarefa matemática executada X vezes.Para um benchmark real, você precisa de duas estruturas comparáveis ​​com centenas de classes/arquivos e um aplicativo da Web executando 100 clientes ao mesmo tempo.

PHP e Python são semelhantes o suficiente para não garantir nenhum tipo de troca.

Qualquer melhoria de desempenho que você possa obter ao mudar de uma linguagem para outra seria amplamente superada se você simplesmente não gastasse o dinheiro na conversão do código (você não codifica de graça, certo?) E apenas compraria mais hardware.

É quase a mesma coisa.A diferença não deve ser grande o suficiente para ser motivo para escolher um ou outro.Não tente compará-los escrevendo seus próprios pequenos benchmarks ("hello world") porque provavelmente você não terá resultados representativos de um site real gerando uma página mais complexa.

Se não está quebrado, não conserte.

Basta escrever um teste rápido, mas tenha em mente que cada idioma será mais rápido com determinadas funções que o outro.

Você precisa ser capaz de apresentar um argumento comercial para a mudança, e não apenas que "é mais rápido".Se um site construído com tecnologia B custar 20% mais em tempo de desenvolvedor para manutenção durante um determinado período (digamos, 3 anos), provavelmente seria mais barato adicionar outro servidor web ao sistema que executa a tecnologia A para preencher a lacuna de desempenho.

Apenas dizendo "deveríamos mudar para a tecnologia B porque a tecnologia B é mais rápido!"realmente não funciona.

Como o Python é muito menos onipresente que o PHP, eu não ficaria surpreso se hospedagem, desenvolvedor e outros custos de manutenção (longo prazo) o ajustassem a esse cenário.

uma organização de SI não consideraria isso a menos que a disponibilidade se tornasse um problema.

nesse caso, analise replicação, balanceamento de carga e muita memória RAM.

A única resposta certa é “Depende”.Existem muitas variáveis ​​que podem afetar o desempenho e você pode otimizar muitas coisas em qualquer situação.

Tive que voltar ao desenvolvimento web em meu novo emprego e, se não fosse Pylons/Python, talvez eu tivesse escolhido viver na selva :) Na minha opinião subjetiva, PHP é para o jardim de infância, fiz isso no meu terceiro ano da universidade e, acredito, muitos engenheiros de software que se prezam (ou superestimam) não vão querer se preocupar com o código PHP.

Por que meus empregadores concordaram?Nós (a equipe) acabamos de mudar para Python e eles não tinham muito a dizer.O site ainda é e será PHP, mas estamos desenvolvendo outras aplicações, inclusive web, em Python.Vantagens dos postes?Você pode integrar suas bibliotecas python ao aplicativo da web, o que é, na minha opinião, uma grande vantagem.

Quanto ao desempenho, ainda estamos tendo problemas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top