Question about JEP 401 Feedback
Chen Liang
chen.l.liang at oracle.com
Sat Nov 8 05:42:50 UTC 2025
Hi David, given that this EA is presented with eventually delivering into mainline as preview features, and given Java's goal for compatibility, I think our primary performance goals are:
1.
Detect accidental incompatibilities, behavioral changes, or regressions when preview features are off (there should be ideally none)
2.
Examine the compatibility of existing programs when they run with preview features on, and their performance status (some regressions may be anticipated)
3.
Examine the specification compliance of value objects and their performance features (need to classify regressions too), such as the "add value modifier and my code slows down" example from Ethan McCue.
For performance improvements related to value objects, our goal is the new programming model unlocks a lot of compiler transformations previously not possible - for example, lack of identity allows free replacement of Vectors in the Vector API. This potential improvement is not in the EA, and that's why Dan says "there are some gains you might hope for that simply aren't implemented yet." One thing of note is that we currently ship "nullable atomic flat" arrays for small value classes in anticipation for future polymorphic array and generic specialization enhancements, which can be seen as a significant performance-oriented change.
Chen Liang
________________________________
From: valhalla-dev <valhalla-dev-retn at openjdk.org> on behalf of David Alayachew <davidalayachew at gmail.com>
Sent: Friday, November 7, 2025 6:43 AM
To: valhalla-dev <valhalla-dev at openjdk.org>
Subject: Question about JEP 401 Feedback
Hello @valhalla-dev<mailto:valhalla-dev at openjdk.org>,
I have spent the past week or so playing around with the JEP 401 EA, gathering a bunch of data. I am nearing completion with the data-gathering phase, and preparing myself to start writing my experience.
However, I wanted to confirm what type of experience report is wanted for this JEP 401. It's been mentioned in multiple places that many of the performance optimizations one would come to expect with Valhalla have yet to be implemented yet. Understandable -- this is still just the EA of JEP 401.
So does that mean that experience reports should avoid talking about potential performance increases/decreases? Or should we focus on the usability and ergonomics of the language feature? Or is this just a typical experience report, where we just speak freely about what did and didn't work when trying on a real world program?
I'll post this thread to reddit once receiving answers. That way, others who see that post will be able to format their experience reports appropriately as well.
Thank you for your time and help.
David Alayachew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/valhalla-dev/attachments/20251108/9de258fa/attachment-0001.htm>
More information about the valhalla-dev
mailing list