Question

Qu'est-ce qui est plus rapide, des pages Web en python ou des pages Web en php?

Est-ce que quelqu'un sait comment la vitesse des pylônes (ou de l'un des autres cadres) se compare à celle d'un site Web similaire créé avec php?

Je sais que la page Web de base python via cgi est plus lente que php en raison de son long démarrage à chaque fois.

J'aime utiliser des pylônes et je l’utiliserais encore s’il était plus lent que php. Mais si les pylônes étaient plus rapides que php, je pourrais peut-être, éventuellement, convaincre mon employeur de me permettre de convertir le site en pylônes.

Était-ce utile?

La solution

Il semble que vous ne souhaitiez pas comparer les deux langues , mais que vous souhaitiez comparer deux systèmes Web .

C'est délicat, car de nombreuses variables sont impliquées.

Par exemple, les applications Web Python peuvent tirer parti de mod_wsgi pour dialoguer avec des serveurs Web, ce qui est plus rapide que toutes les méthodes habituelles utilisées par PHP pour communiquer avec les serveurs Web (même mod_php finit par être plus lent si vous utilisez Apache, car Apache ne peut utiliser le MPM Prefork avec mod_php plutôt que le MPM multi-thread tel que Worker).

Il y a aussi le problème de la compilation du code. Comme vous le savez, Python est compilé juste à temps en code octet (fichiers .pyc) lorsqu’un fichier est exécuté à chaque modification. Par conséquent, après la première exécution d'un fichier Python, l'étape de compilation est ignorée et l'interpréteur Python extrait simplement le fichier .pyc précompilé. Pour cette raison, on pourrait soutenir que Python a un avantage natif sur PHP. Cependant, des optimiseurs et des systèmes de mise en cache peuvent être installés pour les sites Web PHP (mon préféré est eAccelerator ) et a le même effet.

En général, il existe suffisamment d’outils pour que l’on puisse pratiquement tout faire, l’autre. Bien sûr, comme d’autres l’ont déjà mentionné, l’analyse de rentabilisation ne se limite pas à la vitesse. Nous avons une application écrite dans oCaml chez mon employeur actuel, ce qui s’est avéré être une erreur car l’auteur original a quitté la société et personne d’autre ne veut la toucher. De même, la communauté PHP-Web est beaucoup plus grande que la communauté Python-Web; Les services d'hébergement de site Web sont plus susceptibles d'offrir un support PHP que le support Python; etc.

Mais revenons à la vitesse. Vous devez reconnaître que la question de la vitesse implique de nombreuses pièces en mouvement. Heureusement, nombre de ces composants peuvent être optimisés indépendamment, ce qui vous permet de rechercher des gains de performances.

Autres conseils

Il ne sert à rien d'essayer de convaincre votre employeur de passer de PHP à Python, en particulier dans le cas d'un système existant, ce que je pense que vous avez laissé entendre dans votre question.

La raison en est que vous avez déjà un système (vraisemblablement) opérationnel, avec un investissement en temps et en efforts (et en expérience). Le rejeter au profit d’un gain de performance insignifiant (ce n’est pas que je prétende qu’il y en aurait un) serait insensé et aucun responsable digne de ce nom ne devrait l’approuver.

Cela peut également créer un problème de maintenabilité, en fonction des utilisateurs qui doivent travailler avec le système et de leur expérience avec Python.

Je suppose que PHP (& 5.5) est plus rapide et plus fiable pour les applications Web complexes, car il est optimisé pour les scripts de site Web.

La plupart des points de repère que vous trouverez sur Internet sont uniquement conçus pour prouver que la langue préférée est meilleure. Mais vous ne pouvez pas comparer 2 langues avec une tâche mathématique exécutant X-times. Pour un vrai benchmark, vous avez besoin de deux frameworks comparables avec des centaines de classes / fichiers et d’une application Web exécutant 100 clients à la fois.

PHP et Python sont suffisamment similaires pour ne permettre aucune commutation.

Toute amélioration des performances que vous pourriez obtenir en passant d’une langue à l’autre serait largement gênée par le simple fait de ne pas dépenser l’argent nécessaire pour convertir le code (vous ne codez pas gratuitement, non?) et simplement pour acheter plus de matériel.

C'est à peu près la même chose. La différence ne devrait pas être assez grande pour être la raison de choisir l'un ou l'autre. N'essayez pas de les comparer en écrivant vos propres petits points de repère ( "hello world") avec des résultats qui ne seront probablement pas représentatifs d'un site Web réel générant une page plus complexe.

S'il n'est pas cassé, ne le corrigez pas.

Il suffit d'écrire un test rapide, mais gardez à l'esprit que chaque langue sera plus rapide avec certaines fonctions que l'autre.

Vous devez être en mesure de faire une analyse de rentabilisation pour le changement, pas seulement "c'est plus rapide". Si un site basé sur la technologie B coûte 20% de plus en temps de développement pour la maintenance sur une période donnée (par exemple, 3 ans), il serait probablement meilleur marché d’ajouter un autre serveur Web au système exécutant la technologie A pour combler l’écart de performances.

Nous venons de dire "nous devrions passer à la technologie B car celle-ci est plus rapide! ". ne fonctionne pas vraiment.

Etant donné que Python est beaucoup moins omniprésent que PHP, je ne serais pas surpris que ses coûts d’hébergement, de développement et de maintenance (à long terme) l’adaptent à ce scénario.

Une organisation informatique n’y réfléchirait que si la disponibilité devenait un problème.

Si tel est le cas, examinez la réplication, l'équilibrage de la charge et de nombreux RAM.

La seule bonne réponse est "Cela dépend". De nombreuses variables peuvent affecter les performances et vous pouvez optimiser beaucoup de choses dans les deux cas.

Je devais revenir au développement Web dans mon nouvel emploi et, si ce n'était pas Pylons / Python, j'aurais peut-être choisi de vivre dans la jungle :) ma troisième année d'université et, je crois, de nombreux ingénieurs en logiciel qui se respectent (ou qui surestiment l'estimation) ne voudront pas être dérangés par le code PHP.

Pourquoi mes employeurs ont accepté? Nous (l'équipe) venons de passer à Python et ils n'avaient pas grand chose à dire. Le site Web est toujours et sera PHP, mais nous développons d’autres applications, y compris Web, en Python. Avantages des pylônes? Vous pouvez intégrer vos bibliothèques Python dans l’application Web, ce qui constitue un avantage considérable, à mon humble avis.

En ce qui concerne les performances, nous rencontrons toujours des problèmes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top