CH-Abhinav opened a new pull request, #16691:
URL: https://github.com/apache/lucene/pull/16691

   ### Description
   This PR introduces SIMD bulk decoding for DocValues (8-bit, 16-bit, and 
32-bit formats) into 64-bit `long[]` via `PanamaDocValuesBulkDecodeSupport` .
   
   Currently, default scalar loops handle these widening. This PR tries to use 
Panama Vector API's shape-widening operations (`convertShape` with 
`ZERO_EXTEND_B2L`, `ZERO_EXTEND_S2L`, and `ZERO_EXTEND_I2L`).
   
   ### Changes
   * Added vectorized decode loops in `PanamaDocValuesBulkDecodeSupport`.
   * Added safe fallback to original Default scalar decoder for tail elements.
   * Added randomized unit test coverage in `TestDocValuesBulkDecodeSupport` 
for this changes. Runs correctly for JDK 25.
   
   ### Benchmark
   
   Benchmark is executed in JDK 25.0.3
   
   | Benchmark | Count | Scalar Baseline | Panama (4 Vectors) | Panama (8 
Vectors) | Units |
   | :--- | :--- | :--- | :--- | :--- | :--- |
   | **DocValues Decode (8-bit)** | 1,024 | 2.859 ± 0.767 | 4.470 ± 0.670 | 
2.462 ± 0.414 | ops/us |
   | **DocValues Decode (8-bit)** | 65,536 | 0.039 ± 0.003 | 0.049 ± 0.010 | 
0.041 ± 0.010 | ops/us |
   
   (Notice how multiple vectors broke the performance by register spilling).
   
   Closes #16677.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to