Question

En supposant un programme est écrit en 2 langues différentes:

  1. Dans un langage interprété à partir du code source (PHP par exemple)
  2. Dans un langage interprété de bytecode (Java par exemple).

Les deux programmes font exactement la même chose (pour plus de simplicité, permet de dire les deux que la sortie d'une ligne de texte).

langue Will (2) plus rapide que (1)?

Puis-je conclure que, en théorie, dans un cas où deux sites offrent les mêmes fonctionnalités, mais construit avec PHP tandis que l'autre avec Java (JSP), le site Java sera plus rapide?

Joel

Était-ce utile?

La solution

Non, il n'y a aucune garantie à ce sujet du tout. Cela fait partie du processus de compilation normale pour produire un bytecode intermédiaire. PHP va juste source -> bytecode -> exécution en une seule fois, alors que Java va la source -> Fichier -> bytecode -> exécution. Il n'y a pas beaucoup de différence. La principale différence viendra backends- l'efficacité est le JIT soutient les deux langues, à quel point le programme est statiques ou dynamiques (types, par exemple).

Plus important encore, le temps passé et le téléchargement des paquets nécessaires ou les interactions de base de données les performances d'un site Web susceptible de dominer, pas la langue de support.

Autres conseils

Le texte interprète de code par rapport octet, en général, le « plus rapide » ne sera celui avec plus de technologie passé la compilation du code source en code machine optimisé. Cela suppose que la quantité de calcul à faire de la quantité domine le temps qu'il faut pour « compiler » le code.

Fro Web pages, il peut ou ne peut pas beaucoup d'importance, puisque vos pages Web peuvent ne pas avoir beaucoup de calcul à faire. (La plupart des pages Web passent leur temps d'attente pour l'entrée utilisateur :) Pour un exemple de ligne, je ne pense pas que les soucis de personne.

Pour PHP vs Java, je pense que vous constaterez que Java est un gagnant haut la main en termes de vitesse globale. Le compilateur PHP HipHop est une tentative de rattraper les capacités générales du compilateur Just-en-temps de la plupart des implémentations Java.

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