46 votes

PHP vs Java Existe-t-il des différences de consommation d'énergie?

J'ai entendu une rumeur, que Java consomme moins d'énergie que PHP et je me demandais si, et comment, ce serait vrai. Je suis en train de travailler dans une entreprise où nous avons la base de la plupart de nos applications sur PHP. La consommation d'énergie n'a jamais été le problème pour nous, mais nous travaillons sur des projets plus importants, où il pourrait la matière. Nous aimons PHP pour le développement web et vous vous demandez comment une telle rumeur peut se propager et s'il est vrai à tous.

L'exemple que j'ai entendu était que Facebook est de commutation pour cette raison exactement à Java (je n'arrive pas à trouver ça sur google).

Depuis un client de la mine est de me poser cette question, j'aimerais une preuve si il est vrai.

29voto

Ants Aasma Points 22921

Les ordinateurs n'est pas un soin particulier si elles sont à l'exécution de Java ou PHP. La consommation électrique est à peu près la même. La question devient alors une question de performance - si vous pouvez vous servir de plus en plus de demandes à un serveur, vous aurez besoin de moins de serveurs et de consommer moins d'énergie. Ou sinon, si vous ne la faites pas à l'échelle du web applications, servir vos demandes plus rapidement et passer plus de temps au ralenti, qui consomme moins d'énergie.

Compte tenu de Java pur et pur PHP, Java, comme un statiquement typé JIT ed la langue est bien sûr plus rapide. La question est plutôt de ce qui peut vous rendre plus rapide étant donné les membres de l'équipe et de l'effort de développement disponibles pour vous.

De mon point de vue est que la meilleure façon est de mélanger les langues, l'utilisation de Java à base d'infrastructure outils, tels que la terre Cuite pour construire la performance des pièces critiques et quelque chose de plus souple, de construire des complexes, mais pas que la lourdeur des affaires et de la logique de présentation.

19voto

Vinko Vrsalovic Points 116138

J'ai vraiment un doute c'est une langue unique problème.

Les plates-formes en question ont donc une grande variabilité de rendre n'importe quel générique de comparaison de raison d'être. Pour ne nommer que quelques de la variabilité des points.

  • Conteneur de Servlet Java (Tomcat, Glassfish, Websphere, la Jetée, ...)
  • Web server pour PHP (Apache, IIS, lighttpd, nginx, ...)
  • Caches d'Opcode PHP
  • Les bibliothèques et les framewokrs utilisé
  • Les systèmes d'exploitation
  • Les disques durs concernés
  • De refroidissement
  • Les algorithmes de l'application elle-même

Je doute vraiment que vous pouvez isoler un grand nombre de variables dans une mesure utile. Au plus, vous pouvez choisir deux demandes équivalentes (en notant toutes la plate-forme de choix) en utilisant le même matériel et les comparer. Alors améliorer la pire jusqu'à ce qu'il est en tête de la meilleure. La bonne mesure serait à la fois le nombre de watts par heure et requêtes à la seconde, je pense.

Ce qui est noté dans les Fourmis' réponse (upvote lui) est le point crucial: la plus performante plate-forme sera toujours plus efficace de l'énergie, étant donné assez de demande, parce qu'il va être en mesure de servir la même quantité de demandes avec moins de matériel.

Mais la plate-forme est plus performant n'est pas seulement dépendant d'une langue dépend de la les choses mentionnées ci-dessus (et quelques autres).

8voto

duffymo Points 188155

J'ai été surpris par cette question, jusqu'à ce que j'ai fait une recherche Google, qui a tourné cette . C'est un grave problème, un problème que je n'aurais pas pensé.

Maintenant que je pense à ce sujet, je pense que ça devient une question de savoir qui paie la facture d'électricité. Java de Sun stratégie sur la vente de serveurs: big fer pour le dos, les clients légers pour le front-end.

Peut-être des technologies comme le Flex se déplacer plus du travail sur le client et de les laisser avec un plus grand pourcentage de la facture d'électricité.

Mais je serais surpris de voir un classement des langues par l'utilisation de l'énergie.

Une question très intéressante. Je vais voter.

Quelle fascinante problème. Ne serait-il pas intéressant d'écrire une application dans un certain nombre de langues, de les déployer sur un matériel identique, et de mesurer la consommation d'énergie? Je serais ravi de le voir.

Si vous obtenez vraiment fou, que penser d'un outil de contrôle de performance qui, en plus de vous montrer où la mémoire et le PROCESSEUR ont été consommés dans chaque partie de votre application, serait également vous montrer où la plupart de l'énergie est-elle utilisée?

Maintenant, je souhaite que je pourrais voter cette question de nouveau.

4voto

Mark Rushakoff Points 97350

Comme de nombreux comparatifs des questions ici, vous aurez probablement besoin de venir avec un point de référence pour déterminer si c'est vrai.

lesswatts.org a un peu d'informations sur les applications de gestion de l'alimentation, ainsi que plusieurs autres aspects de la consommation d'énergie sur les systèmes Linux. Comme une note de côté, ils semblent être à l'aide de PHP, donc cela pourrait être quelque chose d'intéressant en lui-même :)

Ils ne cessent de répéter que vous devez utiliser PowerTOP pour déterminer les applications qui sont à l'origine de la plupart de la consommation d'énergie, et vous pouvez le voir sur la capture d'écran qu'ils sont de vérifier les réveils à partir du ralenti, au moins.


La plupart du temps, un serveur web est assis au ralenti, puis il "sert" pour un très bref instant, puis il remonte à l'attente de la prochaine connexion à servir. À cet égard, PHP serait contribuent très peu à l'ensemble du processus: seule la portion de la partie. Donc je me demande si le point de référence était une comparaison d'un particulier basé sur Java web server par rapport à Apache/PHP servir des pages similaires. Si c'était le cas, ce n'est pas vraiment une comparaison équitable, de PHP et de Java -- l'un des deux considérés comme servant une page réelle n'est actif que pour les millisecondes à un moment, généralement. Je pense que le serveur web réel, celui qui est de la sélection ou de bureaux de connexions, c'est celui qui serait accaparer le pouvoir.

3voto

Dimitar Dimitrov Points 6587

Par la consommation d'énergie voulez-vous dire Watts la consommation d'énergie?

Je ne suis pas sûr à 100%, mais même si c'est vrai, je pense que c'est similaire à l'optimisation d'une partie de votre code, qui est exécuté dans le 0,01% de votre programme à l'exécution.

Les problèmes qui seront provoquées par la commutation (évolution de la production/communiqué de plates-formes, l'apprentissage de la courbe de perte de temps, de nouveaux logiciels d'affaires coûts, etc) sera assez drastique. Je ne vois pas une décision aussi importante, sauf à la suite de graves et spécifiques à l'entreprise d'affaires de l'analyse de la tâche et les résultats correspondants.

Toutefois, cela devrait rendre pour une discussion intéressante.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X