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]
