Uni Linz entwickelt schnellen Java-Compiler
Die Wissenschaftler des Instituts für Systemsoftware der Universität Linz stellten kürzlich im Rahmen der Software-Entwicklerkonferenz VEE'05 [Virtual Execution Environments] in Chicago die Ergebnisse ihrer Forschungsarbeiten an einem neuen Java-Client-Compiler vor.
Der Client-Compiler ist ein Just-in-time-Compiler, der Programmcode in den jeweiligen Rechnercode - x86 oder Sparc-Code - übersetzt. Mit Hilfe eines neuen Übersetzungsverfahrens, dem Linear-Scan-Verfahren, sollen Java-Programme damit wesentlich beschleunigt werden können
Weiters entwickelten die Java-Experten der Uni Linz neue Verfahren zur Optimierung des Compilers. Sun wird den neuen Registerallokator voraussichtlich in einer zukünftigen Version von JDK [Java Developer Kit] einbauen.
Damit Java-Programme auf Rechnern unterschiedlicher Hersteller laufen können, werden sie zunächst in eine neutrale Zwischensprache übersetzt. In dieser Form werden sie dann über das Internet übertragen und erst am Zielrechner unmittelbar vor ihrer Ausführung ["just in time"] in die Maschinensprache dieses Rechners umgewandelt. Das muss automatisch und rasch ablaufen, damit Benutzer nichts von bemerken.
Handverlesener Java-Code für die WeltDurchschnittlich 25 Prozent schneller
Derartige Compiler erforderten völlig neue Übersetzungstechniken, so Hanspeter Mössenböck, Professor am Institut für Systemsoftware der Universität Linz und Leiter des Forschungsprojekts.
Verbesserte Datenstrukturen und eine effizientere Verwaltung der Rechenregister bringen durchschnittlich 25 Prozent mehr Geschwindigkeit, in manchen Fällen bis zu 90 Prozent, so Christian Wimmer, wissenschaftlicher Mitarbeiter am Linzer Institut für Systemsoftware.
Weitere Geschwindigkeitssteigerungen sollen durch Escape-Analyse erreicht werden.
