On Thu, 29 May 2025 18:49:28 GMT, Mohamed Issa <d...@openjdk.org> wrote:

>> test/micro/org/openjdk/bench/java/lang/CbrtPerf.java line 56:
>> 
>>> 54:     public static class CbrtPerfRanges {
>>> 55:         public static int cbrtInputCount = 2048;
>>> 56: 
>> 
>> Please create separate CbrtPerfSpecialValues for +/- 0.0 and +/- Infinity 
>> and NaN values.
>> I understand that handling special cases in intrinsic may impact general 
>> case performance but its ok to have atleast micro for it.
>
> Ok, I added this to the new set of micro-benchmarks. I kept them as variable 
> values.

With Intrinsic Disabled:-

Benchmark                                              Mode  Cnt        Score   
Error   Units
CbrtPerf.CbrtPerfSpecialValues.cbrtDouble0            thrpt    2  1343559.770   
       ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleInf          thrpt    2   881930.283   
       ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNaN          thrpt    2   973307.409   
       ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegative0    thrpt    2  1342454.046   
       ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegativeInf  thrpt    2   880169.071   
       ops/ms

With Intrinsic Enabled:-

Benchmark                                              Mode  Cnt       Score   
Error   Units
CbrtPerf.CbrtPerfSpecialValues.cbrtDouble0            thrpt    2  293228.991    
      ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleInf          thrpt    2  329190.573    
      ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNaN          thrpt    2  334625.414    
      ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegative0    thrpt    2  270939.709    
      ops/ms
CbrtPerf.CbrtPerfSpecialValues.cbrtDoubleNegativeInf  thrpt    2  328087.618    
      ops/ms


As expected, optimized intrinsic penalizes special case performance to optimize 
generic case control paths. Have you tried adding these special checks and 
measuring the impact on performance?  Alternatively, we can create a follow up 
JBS to address it later.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24470#discussion_r2116295936

Reply via email to