OpenJDK Project Leyden Now Available
Written by Kay Ewbank   
Monday, 22 July 2024

Project Leyden, an OpenJDK project, is now available in an early access release. Leyden aims to improve the startup time, lower the warmup time, and reduce the footprint of Java programs. It aims to do this by enabling developers to shift computation forward and backward in time by means of condensing code.

What this involves is shifting some of a program's computation in time, either forward to a point later in run time (e.g., via lazy initialization) or backward to a point earlier than runtime (e.g., via ahead-of-time compilation).

leyden

The development team says further performance improvement can be gained by constraining some of the computation related to Java's dynamic features (e.g., class loading, class redefinition, and reflection), which enables better code analysis and thus even more optimization.

Project Leyden implements these shifting, constraining, and optimizing transformations as condensers. A condenser is a program transformer that runs in a phase between compile time and runtime.

The early access build of Leyden features includes ahead-of-time compilation of Java methods to natively execute them as soon as the application starts up in the production run. It also has ahead-of-time resolution of constant pool entries. This allows the AOT compiler to generate better code and applications to start faster. Ahead-of-time generation of Dynamic Proxies and reflection data has also been included as frameworks use those extensively during start-up time.

There's a unified Cache Data Store (CDS) archive to simplify the creation of the CDS archive; and Loaded Classes are added to the CDS archive as soon the application starts up. A class loader lookup cache aims to help application frameworks perform repeated lookups without repeatedly scanning the classpath; and method profiles are archived to reach Java application peak performance faster.

If you're wondering about the name, a Leyden jar is a device for storing electrical charges, such as from static electricity. It was coinvented by the Dutch scientist Pieter van Musschenbroek of Leiden—also spelled Leyden in the mid-1700s.

The early access build for Project Leyden is available now.

leyden

More Information

Project Leyden Early-Access Build

Leyden Release Notes

Related Articles

Semantic Kernel for Java Now GA

Liberica Alpaquita Containers Now Come With CRaC

Azul To Tackle Java's Warm Up Issues

Python vs. Golang vs. Java Performance: Which Is Faster?  

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Remembering Thomas Kurtz, Co-creator of BASIC
15/11/2024

Thomas Eugene Kurtz, the co-founder of the BASIC programming language, has died at the age of 96. BASIC, which was developed for the purpose of education, popularized computer programming making it ac [ ... ]



Ursina - A Game Engine Powered by Python
08/11/2024

Ursina is a new open source game engine in which you can code any type of game in Python, be it 2-D, 3-D, an application, a visualization, you name it.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 23 July 2024 )