web-dev-qa-db-fra.com

Quel est le plus rapide, python ou pages Web php?

Quel est le plus rapide, python ou pages Web php?

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

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

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

39
Echo

Il semble que vous ne vouliez pas comparer les deux langues , mais que vous vouliez 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 parler aux serveurs Web, ce qui est plus rapide que toutes les façons typiques dont PHP communique avec les serveurs Web (même mod_php finit par être plus lent si vous utilisez Apache, car Apache ne peut utiliser que Prefork MPM avec mod_php plutôt que MPM multithread comme 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 fois qu'il change. 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 récupère simplement le fichier .pyc précompilé. Pour cette raison, on pourrait affirmer 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 ) à peu près le même effet.

En général, il existe suffisamment d'outils pour que l'un puisse faire à peu près tout ce que l'autre peut faire. Bien sûr, comme d'autres l'ont mentionné, l'analyse de rentabilisation ne se limite pas à la vitesse nécessaire pour changer de langue. Nous avons une application écrite en oCaml chez mon employeur actuel, ce qui s'est avéré être une erreur parce que l'auteur d'origine a quitté l'entreprise et que personne d'autre ne veut y toucher. De même, la communauté Web PHP est beaucoup plus importante que la communauté Web Python; Les services d'hébergement de sites Web sont plus susceptibles d'offrir une assistance PHP que Python; etc.

Mais revenons à la vitesse. Vous devez reconnaître que la question de la vitesse implique ici de nombreuses pièces mobiles. Heureusement, bon nombre de ces pièces peuvent être optimisées indépendamment, vous offrant diverses possibilités de rechercher des gains de performances.

88
Ross

Il ne sert à rien de tenter de convaincre votre employeur de porter de PHP vers Python, surtout pas pour un système existant, ce que je pense que vous avez impliqué dans votre question.

La raison en est que vous avez déjà un système de travail (vraisemblablement), avec un investissement existant de temps et d'efforts (et d'expérience). Abandonner cela en faveur d'un gain de performance insignifiant (pas que je prétende qu'il y en aurait un) serait stupide, et aucun gestionnaire digne de ce nom ne devrait l'approuver.

Cela peut également créer un problème de maintenabilité, selon qui d'autre doit travailler avec le système et leur expérience avec Python.

29
Rob

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 sites Web.

Beaucoup de repères que vous trouverez sur le net ne sont faits que 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 une véritable référence, vous avez besoin de deux cadres comparables avec des centaines de classes/fichiers et une application Web exécutant 100 clients à la fois.

7
RubbelDeCatc

C'est à peu près la même chose. La différence ne doit pas être suffisamment importante pour être la raison de choisir l'un ou l'autre. N'essayez pas de les comparer en écrivant vos propres petits repères ("hello world") car vous n'aurez probablement pas de résultats représentatifs d'un vrai site web générant une page plus complexe.

2
indentation

PHP et Python sont assez similaires pour ne garantir aucun type de commutation.

Toute amélioration des performances que vous pourriez obtenir en passant d'une langue à une autre serait largement dépassée en ne dépensant tout simplement pas l'argent pour convertir le code (vous ne codez pas gratuitement non?) Et en achetant simplement plus de matériel.

2
SCdF

Si ce n'est pas cassé, ne le réparez pas.

Écrivez simplement un test rapide, mais gardez à l'esprit que chaque langue sera plus rapide avec certaines fonctions que l'autre.

1
UnkwnTech

une organisation IS ne prendrait pas cela en considération à moins que la disponibilité ne devienne un problème.

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

1
sara palin

Vous devez être en mesure de faire une analyse de rentabilisation pour le changement, pas seulement que "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 moins cher d'ajouter un autre serveur Web au système exécutant la technologie A pour combler l'écart de performances.

Dire "nous devrions passer à la technologie B parce que la technologie B est plus rapide!" ne fonctionne pas vraiment.

Étant donné que Python est beaucoup moins omniprésent que PHP, je ne serais pas surpris si l'hébergement, le développeur et d'autres coûts de maintenance pour lui (à long terme) l'adaptaient à ce scénario.

1
Peter Bailey

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 situations.

0
Aeon