Login
Newsletter
Werbung

Thema: IcedTea überholt OpenJDK

1 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von haug am Di, 12. Juni 2007 um 09:35 #
Die Annahme das Bytecode generell langsamer ist als native übersetzter Code ist falsch! Es gibt viele Optimierungen die eine VM machen kann die ein Compiler nicht kann. Ein Beispiel ist die Vererbung von Methoden und das inlining. Der Compiler kann überhaupt nicht wissen welche Klasse letztendlich benutzt wird. Eine Java VM entscheidet zur Laufzeit ob eine Methode "inlined" wird oder nicht. Bei größeren Vererbungshirarchien spart das so manchen Funktionsaufruf.
Es gibt einige Compiler die für bestimmte Szenarios den Code optimieren. Dazu analysieren sie das Laufzeitverhalten bei "Probeläufen". Für dieses Szenario wird dann der Code optimiert. Für andere Szenarien kann das dann fürchterlich in die Hose gehen. Eine VM kann das dynamisch, sie passt sich zur Laufzeit an die Daten an.
[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung