alias « Java Vs PHP »
j’ai passé quelques heures à chercher des liens et des benchmarks pour comparer les rapidité des différents langages de programmation. après tout ce temps, une conclusion s’impose : les langages compilés (comme Java ou C) seront toujours beaucoup plus rapides, en performance pure, que les non compilés (principalement PHP, Ruby et Python, voire Javascript).
La raison est simple : l’optimisation faite par le compileur, et le fait d’être compilé, multiplient par 10 ou 100 la rapidité d’exécution des boucles, des assignations mémoire etc…
Voici quelques liens bien faits montrant des chiffres :
- http://dow.ngra.de/2008/08/04/optimizing-ip2c-php-implementation/
- http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php
- http://elliottback.com/wp/ruby-vs-php-performance-revisited/
Et Java dans la vie réelle?
Cependant, la plupart des benchmarks sont faits sur des exemples purement mathématiques.
Or, par exemple pour une application web, il y a aussi :
– une partie serveur pour rediriger l’appel
– une désérialisation XML ou HTTP
– un connecteur à une base de données avec gestion de pool, et des requêtes SQL plus ou moins optimisées…
Dans beaucoup d’appli web, la part du SQL sera de 50%, alors être infiniment plus rapide sur la partie « calcul » n’accélérera votre application que de 50% au plus…
Certes, dans l’exemple de « ip2c », le java est presque 7x plus rapide que le php, mais avec un bon framework et du cache, php sera tout de même suffisamment rapide. Mieux vaut investir dans des machines pas chères, que dans des ingénieurs coûteux.
De plus, la majorité des applications java doivent charger en mémoire des tas de framework, des EJB, des Spring, et autres librairies et couches qui réduisent, dans le monde réel, son avantage sur les langages interprétés.
Alors de la même façon qu’on n’utilise pas PHP pour faire des jeux parce que c’est trop lent, mais que Java s’y prête finalement bien…
Et bien pour une pure appli web, avec partie front et modèle MVC, PHP sera plus rapide à DÉVELOPPER, que du java, et on le choisira parce que c’est ça qui compte, plus que le temps de réponse de la page, qui de toute façon sera augmenté de la lenteur de la connexion internet de la personne, du chargement de sa vidéo, etc…
Je dois m’avouer vaincu sur la performance mathématique pure. C++ et Java SONT plus rapides.
Mais dans le monde réel, il faut bien réfléchir à ses besoins. Et là, le PHP n’est pas du tout vaincu.
// ]]>
Laisser un commentaire