Frage

Angenommen, ein Programm in zwei verschiedenen Sprachen geschrieben:

  1. In einer Sprache aus dem Quellcode interpretiert (PHP zum Beispiel)
  2. In einer Sprache von Bytecode (Java zum Beispiel) interpretiert.

Die beiden Programm genau das gleiche tun (der Einfachheit halber, sie können sagen, die beide nur Ausgabe eine Zeile Text).

Will Sprache (2) schneller als (1)?

Kann ich feststellen, dass in der Theorie, in einem Fall, in der zwei Standorte die gleiche Funktionalität bieten, aber mit PHP gebaut, während die andere mit Java (JSP), werden die Java-basierte Website schneller sein?

Joel

War es hilfreich?

Lösung

Nein, es gibt keine Garantie darüber überhaupt. Es ist Teil des normalen Übersetzungsvorgang einen Vermittler Bytecode zu erzeugen. PHP geht nur Quelle -> Bytecode -> Ausführung in einem Rutsch, während Java Quelle geht -> Datei -> Bytecode -> Ausführung. Es gibt nicht viel Unterschied. Der primäre Unterschied in backends- kommen wird, wie effektiv ist die JIT beiden Sprachen sichern, wie viel des Programms ist statisch und dynamische (Typen, zum Beispiel).

Noch wichtiger ist, die Zeit damit verbracht und das Herunterladen der notwendigen Pakete oder Datenbank-Interaktionen werden wahrscheinlich zu dominieren die Website-Performance, nicht die Rücksprache.

Andere Tipps

Für Text vs. Bytecode Interpreter, im Allgemeinen, die „schneller“ wird man das mit mehr Technologie sein, den Quellcode Code optimierte Maschine ausgegeben kompilieren. Dies setzt voraus, dass die Menge der Berechnung dominiert die Höhe der Zeit zu tun, es dauert zu „übersetzen“ dem Code.

Fro web Seiten, es kann oder auch nicht viel aus, da Ihre Web-Seiten nicht viele Rechen haben zu tun. (Die meisten Web-Seiten verbringen ihre Zeit für die Benutzereingabe warten :) Für Ihr eine Zeile Beispiel, ich glaube nicht, dass jemand Sorgen.

Für PHP vs. Java, ich glaube, Sie werden feststellen, dass Java eine Hand nach unten Gewinner in Bezug auf die Gesamtgeschwindigkeit. Die PHP-HipHop-Compiler ist ein Versuch, den allgemeinen Just-in-Time-Compiler Fähigkeiten der meisten Java-Implementierungen, um aufzuholen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top