Content deleted Content added
Line 2,261:
==Future features==
* [https://openjdk.java.net/projects/valhalla/ Project Valhalla]: ''[[Value type|Value classes]]'', whose objects lack identity, but can in certain cases get an improved memory layout (with less indirection), or have their allocation optimized away entirely.
* [https://openjdk.java.net/projects/panama/ Project Panama]: ''Improved interoperability with native code'', to enable Java source code to call functions and use data types from other languages, in a way that is easier and has better performance than today (this part of Project Panama is getting stabilized in Java 22 under this JEP: https://openjdk.org/jeps/454 ). Vector API (a portable and relatively low-level abstraction layer for [[SIMD]] programming) is also developed under Project Panama umbrella (and its stabilization is dependent on Project Valhalla).
* [https://wiki.openjdk.org/display/lilliput Project Lilliput]: ''Reduce the size of Java object headers.'' First down to 64 bits, and then down to 32 bits.
* Reducing startup time and warm-up time (time to peak performance) in JIT mode: [https://openjdk.org/projects/crac/ CRaC Project] enables making snapshots of whole JVM (together with the running application) and restoring it with necessary adjustments (reopening files, sockets, etc). [https://openjdk.org/projects/leyden/ Project Leyden] will allow partial or (in the long run) full AOT compilation, reducing overall dynamism (by adopting so called "closed-world constaints") to reduce dynamic compilation overhead.
|