Soweit ich mich auskenne erzeugt der Java Compiler (javac) Bytecode. Es wird dann zur Laufzeit der Just-in-time Compiler (JIT) aufgerufen, der zur Laufzeit Maschinencode erzeugt.
Meine Frage ist nun, ob man unter umständen sofort Maschinencode erzeugen kann. Da hätte man natürlich den Nachteil, dass das Programm nur auf einem Rechner läuft, aber es würde unter Umständen die Performance besser werden.
Kann man vielleicht den JIT-Compiler direkt aufrufen?
Eine weitere Frage ist, welche Vorteile man davon hätte, wenn das gehen würde. Wie schnell wäre Java dann? So schnell wie C/C++?
Ich habe leider nie die LVA Compilerbau (oder heißt sie Übersetzerbau) gemacht. Vielleicht lernt man das dort?
Ich weiß nicht, ob es das überhaupt gibt. Ich möchte auch nur eine Diskussion hervorrufen, weil mich das Thema seit ein paar Tagen beschäftigt und weil es mich interessiert.
lg, Old Thrashbarg