Skip to content

Conversation

@1111nit
Copy link

@1111nit 1111nit commented Nov 15, 2024

Rationale for this change
The current Packer16 decoder implementation using JDK Vector API has performance limitations with unpackCount = 16 for bit-packing decoding.

What changes are included in this PR?
Modified ByteBitPacking512VectorLE.java to increase the processing batch size:
// Before
private static final int UNPACK_COUNT = 16;
// After
private static final int UNPACK_COUNT = 32;

Testing Details
Testing environment:

  • JDK: OpenJDK 17.0.2
  • Test framework: JMH Benchmark
  • Platform: x86_64

Performance results:

  • Baseline throughput: 29.587 ops/s
  • Optimized throughput: 54.524 ops/s
  • Performance gain: 84.3% improvement

@wgtmac
Copy link
Member

wgtmac commented Nov 15, 2024

cc @jatin-bhateja

@1111nit 1111nit closed this Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants