Veröffentlicht 7. Januar 200520 j 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 !!!
7. Januar 200520 j 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
7. Januar 200520 j 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.
8. Januar 200520 j Vielen Dank, ich glaube dann war ich ja doch nicht allzu sehr auf dem Holzweg Greetz, Christian
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.