Die Frage sagt so ziemlich alles, ich habe nach einer Antwort sogar durch die VM-Spezifikation gesucht, aber ich sage es nicht explizit.Ist der Hotspot JVM Bytecode Interpreter ein Tracing JIT?
Antwort
Hatte zu googeln, was ein "Tracing JIT" war, aber anscheinend ist es nicht.
> non-tracing JIT implementations (Sun’s Java VM
Aber es optimieren, was Sie vielleicht "hot spots" nennen.
Wie der Bytecode optimiert wird, ist nicht Teil der Spezifikation für den Bytecode.
Es ist nicht einmal ein JIT tatsächlich, geschweige denn ein 'Tracing JIT', was auch immer das sein könnte.
Du bist pingelig. Klar, der Hotspot Bytecode * Interpreter * ist kein JIT * Compiler * ... aber aus dem Kontext sollte das offensichtlich sein, dass das OP das nicht bedeutet! –
Abgesehen: für diejenigen, die nicht wissen, was ein Tracing JIT ist, kommt die folgende Beschreibung von this page:
Obwohl Tracing JITs eine komplexe Technologie sind, das Kernkonzept ist über die Ausführung des heißen Optimierung Pfade in einem Programm. Der Schwerpunkt liegt speziell auf heißen Pfaden, die zum Anfang eines Pfades zurückkehren, der sich sehr wie eine Schleife anhört. Die traditionelle Definition einer Programmierschleife ist jedoch nur eine Teilmenge dieser heißen Pfade. Die breitere Definition umfasst Code, der Methoden und möglicherweise sogar Module umfasst. Diese breitere Definition einer Schleife ist eine so genannte Spur.
- 1. CPython ist Bytecode-Interpreter?
- 2. Was ist die Verwendung von JVM, wenn JIT Durchführung Bytecode Umstellung auf Maschinenbefehle ist
- 3. Kann der vom JVM-Hotspot-Compiler generierte Maschinencode angezeigt werden?
- 4. Unterschied zwischen JVM und HotSpot?
- 5. Welcher Java HotSpot JIT-Compiler wird ausgeführt?
- 6. Was ist Stackmap-Tabelle in JVM-Bytecode?
- 7. Aufgaben des JVM-Bytecode-Verifizierers
- 8. wenn Java jvm Bytecode kompiliert, wohin geht dieser Code im Prozessraum?
- 9. Serialize HotSpot-Status
- 10. JVM - Wie wird nicht jit-kompilierten Code ausgeführt
- 11. Java Exceptions Counter auf JVM HotSpot
- 12. Smart JVM und JIT Micro-Optimierungen
- 13. Was ist die Hierarchie von JVM, JDK, JRE, JIT?
- 14. Funktioniert der Scala-Interpreter genau so wie ein anderer Interpreter?
- 15. Wie kompiliere ich JVM-Assemblercode in Bytecode?
- 16. JVM Bytecode, wie finde ich den Typ der lokalen Variablen?
- 17. Können wir einen Java-Interpreter in Hardware implementieren, der Java-Bytecodes nativ ausführt?
- 18. Was ist eine JVM-Anweisung?
- 19. Jeder C/C++ zu nicht-nativen Bytecode Compiler/Interpreter?
- 20. Was ist eine Entspiegelungsoptimierung in HotSpot JIT und wie wird sie implementiert?
- 21. Große Leistungslücke zwischen dem Div-Befehl der CPU und dem JIT-Code von HotSpot
- 22. Wie interpretiert ein Interpreter den Code?
- 23. Wie generieren auf JVM basierende Sprachen/Laufzeiten Java-Bytecode?
- 24. wie wird jvm bytecode in js in cljs umgewandelt build
- 25. Strategien zur Verbesserung der Leistung von Interpreter
- 26. PHP - Just-in-Time-Compiler Vs Interpreter
- 27. Java: JIT-Methode Inlining
- 28. Gibt es einen Java-Bytecode-Optimierer, der nutzlose gotos entfernt?
- 29. Erkennen, ob JIT verfügbar ist
- 30. Wie ein JIT-Compiler die Leistung von Anwendungen unterstützt?
Ich nehme an, Hotpost bedeutet HotSpot. –
@jtzero: Noch interessanter wäre etwas, das zeigt, ob ein "Tracing JIT", das bis auf eine einzelne Schleife optimieren kann (statt einer ganzen Methode, wie "reguläre" JIT), einen signifikanten Vorteil gegenüber einer Nichtverfolgung bietet -JIT;) Sprich, wenn ein regulärer JIT eine "mal 50" Beschleunigung anbietet und ein Tracing-JIT eine "mal 51" Beschleunigung, zähle mich als wirklich gar nicht beeindruckt :) – SyntaxT3rr0r