JEP 306 (https://t.co/53XH6PnPG5), Restore Always-Strict Floating-Point Semantics, now integrated into JDK 17.
As it was in the beginning, is again, and (ever?) shall be, predictable floating-point arithmetic end-to-end.
@tfoldi@richardstartin ATM there are a couple of known performance issues [1] after recent API refactoring. Your example is affected by #2 (inlining). Until the fix is integrated in the repo, please, give the following patch a try: https://t.co/uyEuKq9c8y
[1] https://t.co/gCERMqP778
@richardstartin I took a look and found 2 issues:
https://t.co/gCERMqP778
(Posting it as a gist since I'm not on SO. Frankly speaking, it's strange to see such questions posted on SO and not on the development mailing list [1].)
[1] https://t.co/tBQCimkzh7
@richardstartin As others pointed out, (as of now) the JEP is neither Targeted nor Proposed to Target to JDK15. But the implementation has been under official review on relevant mailing lists since late March and there's still some time left before feature freeze in JDK15 (early June).
@ChrisGSeaton@mwolczko But then you would still need to overwrite some fields in constructors. Unless there's a very efficient way to do bulk zeroing supported by the hardware, avoiding redundant zeroing makes sense.
@cl4es @mjpt777@nipafx@pivovarit@mreinhold I'd like stress that --illegal-access only affects visibility of _non-critical_ internal APIs. Critical internal APIs (sun.misc.Unsafe is among them) were not encapsulated and JEP 260 contains more details on the topic: https://t.co/J7GEOTxj03
@leventov @chvest Still inline classes don't look like the best tool. F14 would benefit from fine-grained layout control and ability to align on cache lines (to perfectly fit it into a single cache line and vectorize accesses). But those are deliberately left out of scope for inline classes.
@leventov @chvest F14 case is definitely quite far from the sweet spot, but since a chunk fits into a cache line, inline classes may work quite well here. (Not necessarily in the first version though; number of components poses some challenges for the implementation.)