Menü
Avatar von Bitschnipser
  • Bitschnipser

mehr als 1000 Beiträge seit 14.01.2016

Re: Einstampen gewiss nicht

Onkel Wanja schrieb am 22.05.2019 11:53:

Du beschreibst gerade die Marschroute von Oracle.
Stichwort: GraalVM.
Hier hat man angefangen für die JVM einen Java Compiler in Java zu implementieren, dazu eine API, wie man eigene Sprachen auf der JVM implementieren kann (deren ASTs dann nahtlos ineinander übergehen) und man liefert auch einige Sprachimplementationen dazu, die aktuell ständig weiter entwickelt werden.

Und von der GraalVM gibt es nun zwei verschiedene Varianten:
Eine Offene für jedermann, die in der Regel schon schneller ist als das OpenJDK.
Und eine kommerzielle, die mehr Tempo macht, weil der Compiler mehr Optimierungen beinhaltet (ich gehe mal davon aus, dass die modular eingebunden sind).

Jemand anderes hat grad behauptet, Graal sei tendenziell langsamer als OpenJDK bzw. Hotspot :-)

Graal bietet auch die Möglichkeit der AOT-Kompilierungen (hier werden alle statischen Initializer auch schon bei der Kompilerung ausgeführt und man startet also mit einer komplett initialisierten Applikation). Nachteil: Kein dynamisches Classloading mehr. Aber für Tools, bei denen die Startzeit wichtiger ist,als die Laufzeit ist es dennoch sehr sinnvoll.

Dynamic Class Loading wär schon wichtig.
Nicht unbedingt so feingranular auf Klassenebene wie in Java, aber auf Modulebene braucht man das, z.B. für Java-Container und für IDEs, also grad die Bereiche, in denen AoT-Compilation hilfreich wäre (und auch machbar, die Abhängigkeiten zwischen Container und Modul *sollen* ja auch gar nicht umfangreich sein und setzen insbesondere stabile APIs voraus, da gehen nur wenige Optimierungsvoraussetzungen kaputt).

Aber es ist schon ein komplexes Thema und sicher nicht so mal nebenbei in einem Forum abzuhandeln :-D

Bewerten
- +
Anzeige