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 <[email protected]> on behalf of David Alayachew 
<[email protected]>
Sent: Friday, November 7, 2025 6:43 AM
To: valhalla-dev <[email protected]>
Subject: Question about JEP 401 Feedback

Hello @valhalla-dev<mailto:[email protected]>,

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

Reply via email to