Consumo de memória / CPU Java vs PHP


8

Eu trabalho em uma empresa baseada em PHP. Há um projeto em que queremos criar um serviço de back-end. Os membros seniores aqui estão optando pelo PHP, mesmo que seja mais lento que o Java. O único argumento deles é que o Java é mais pesado que o PHP no ponto de vista da memória e do carregamento da CPU.

A JVM é mais como um ambiente de contêiner, se você trouxer mais bagagem, ela consumirá muito, mas o serviço que estamos falando aqui será de média complexidade. Então, é provável que não seja muito exigente (ou será?)

Entendo que esta questão se inclina fortemente para a imprecisão, no entanto, meu ponto de ponderação é: esse é sempre o mesmo caso? Que java é mais exigente de hardware? Gostaria apenas de saber as opiniões de todos que vocês experimentaram sobre como é o cenário atual.




2
Na maioria dos casos, o idioma / plataforma não é o fator decisivo no que diz respeito à velocidade. Se você não ajustar adequadamente um banco de dados, por exemplo, será lento, independentemente do idioma usado.
precisa

2
Não vejo por que o Java ocuparia mais CPU que o PHP. Na maioria dos casos, eu esperaria o contrário, pois normalmente haverá menos custos de inicialização em cada solicitação.
Dario X.

1
@ Shades88 Bem, então, talvez você ou eles devam tentar uma pequena prova de conceito: algum módulo / parte do código que eles acham que tem muita memória e / ou lentidão no Java deve realmente ser implementado nas duas linguagens e ver como ele se comporta . Você (eles) pode se surpreender com coisas como: as necessidades de memória extra do Java não são muito além daquilo que a versão PHP precisa, a versão do Java pode ser substancialmente mais rápida.
Shivan Dragon

Respostas:


10

Se você estiver preocupado com a velocidade, escreva o back-end em uma linguagem compilada e rápida como você, como C ou C ++. Existem muitas ferramentas de serviço da web para criar serviços web simples em C / C ++ que você pode consumir de seus clientes PHP.

No entanto, se você quiser codificá-lo rapidamente e o desempenho não for tão ruim, escreva-o no PHP. Você também tem o benefício de já ter as habilidades necessárias para fazer isso, então isso é um bônus duplo.

O Java não é muito inchado em comparação ao PHP, pode ser um "passo em frente", mas você terá que aprender todas as dicas e truques que você precisa em qualquer sistema novo, e duvido que o benefício valha a pena em comparação com apenas escrevendo em PHP imediatamente. Na maioria dos casos, se você já possui as habilidades necessárias para fazê-lo em PHP, essa deve ser a primeira escolha, escolhendo fazê-lo em um idioma diferente da sua principal área de especialização e deve ser cuidadosamente considerado e escolhido apenas se houver uma definição definitiva. benefícios sobre o seu sistema primário (o que eu acho que não haverá neste caso)


Que tal compilar PHP?
226133 #

1
usando Hiphop ou Phalanger? Pode funcionar, mas a velocidade de instrução da CPU geralmente não é um problema de desempenho tão grande em comparação com o funcionamento do idioma - hits de cache, uso de memória e E / S são mais importantes atualmente. De qualquer forma, você destaca que o PHP é uma escolha melhor que o Java para eles.
precisa

1
Eu acho que se a maioria deles conhece bem o PHP e não precisa de um desempenho muito alto, o PHP é a melhor linguagem para eles.
Виталий Олегович

1
Eu gostaria que as pessoas parassem de sugerir "compilar PHP". O HipHop não compila o PHP. O HipHop é um transformador de código fonte do PHP para o C ++ (que é compilado usando um compilador do C ++). O HipHop é uma solução para escolher o idioma errado para a tarefa.
Craige

2
@Craige: Na verdade, HipHop já não compila para C ++, é agora um motor de tempo de execução JIT: github.com/facebook/hiphop-php/wiki
Joeri Sebrechts

4

Muitas lojas Java corporativas tendem a adicionar muitas abstrações e estruturas (como ORMs, EJBs, spring, libs de terceiros, contêineres etc.) a seus sistemas. Às vezes, essas abstrações são significativas, mas geralmente acabam adicionando inchaço (memória, CPU) e complexidade.

PHP, oh, pode ser usado praticamente "como está", verrugas e tudo. Mas com Java você certamente precisa conciliar muito mais peças.

Portanto, você precisa levar em consideração essas outras coisas antes de tomar uma decisão.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.