legolas_3 Geschrieben 7. Januar 2005 Geschrieben 7. Januar 2005 Hallo zusammen! Habe kürzlich erst meine Ausbildung zum Fachinformatiker AE begonnen und schreibe kommenden Montag meine erste Klausur in Anwendungsentwicklung! Habe da noch vorher kurz ne Frage zu dem JIT Compiler. In meiner Beschreibung eines Zwischencode Programms steht drin, dass dieses von einem Compiler in speziellen Zwischencode übersetzt und dieser dann von eine Interpreter verarbeitet wird. Soweit habe ich das verstanden. Meine Frage nun: Der JIT Compiler übernimmt bei der Übersetzung von Zwischencode Programmen doch die Funktion eines Interpreters, oder nicht? :confused: Wenn ja, warum nennt man ihn dann nicht JIT-Interpreter? Denn alternativ zu einem Interpreter könnte man doch auch einen JIT Compiler verwenden... Bitte schreibt mir eure Meinung zu meiner Meinung!!! Schönen Dank schon mal für eure Hilfe !!! Zitieren
Kratzy974 Geschrieben 7. Januar 2005 Geschrieben 7. Januar 2005 Is zwar niicht c, aber : Ein Compiler ändert direkt um (Von Source zum Zwischencode). Er ändert dies dauerhaft. Ein Interpreter interpretiert den (in dem Fall) Zwischencode, läßt diesen aber unverändert. mfg Kristian Zitieren
Bubble Geschrieben 7. Januar 2005 Geschrieben 7. Januar 2005 Hallo zusammen! Meine Frage nun: Der JIT Compiler übernimmt bei der Übersetzung von Zwischencode Programmen doch die Funktion eines Interpreters, oder nicht? :confused: Wenn ja, warum nennt man ihn dann nicht JIT-Interpreter? Der JIT-Compiler übernimmt in der Laufzeitumgebung die Aufgabe des Interpreters, geht über ihn jedoch hinaus. Anstatt jeden Befehl aus dem "Zwischencode" einzeln (und immer wieder) zu verarbeiten und auszuführen, analysiert ein JIT-Compiler den Zwischencode und erzeugt echten (im optimalen Fall optimierten) Maschienen-Code, der direkt von der jeweiligen CPU ausgeführt werden kann. Dies ist ein bedeutender Leistungs-Gewinn. Ein JIT-Compiler (z.B. bei Java, .NET) kann allerdings keinen Maschinen-Code zu erzeugen, der unabhängig von der Laufzeitumgebung ausführbar ist. Meist benötigt die Laufzeitumgebung neben dem JIT-Compilat weiterhin den Meta-Code, um funktionieren zu können. JIT wird der Compiler deswegen genannt, weil die Übersetzung in Maschinen-Code zur Laufzeit stattfindet (in der Regel beim 1. Aufruf des Codes) und nicht vom Entwickler vorab vorgenommen wird. Dadurch kann der Compiler z.B. für die CPU des Anwenders geeignete Optimierungen anwenden. Zitieren
legolas_3 Geschrieben 8. Januar 2005 Autor Geschrieben 8. Januar 2005 Vielen Dank, ich glaube dann war ich ja doch nicht allzu sehr auf dem Holzweg Greetz, Christian Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.