-
Notifications
You must be signed in to change notification settings - Fork 66
Comparing changes
Open a pull request
base repository: fast-pack/JavaFastPFOR
base: JavaFastPFOR-0.3.12
head repository: fast-pack/JavaFastPFOR
compare: JavaFastPFOR-0.3.13
- 8 commits
- 13 files changed
- 3 contributors
Commits on Jun 17, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 933a84d - Browse repository at this point
Copy the full SHA 933a84dView commit details
Commits on Jun 22, 2026
-
Fix VectorFastPFOR corruption on reused output buffers
slowpack OR-accumulates into the output, so a reused buffer kept stale bits. Zero the target words first.
Configuration menu - View commit details
-
Copy full SHA for 40e2c33 - Browse repository at this point
Copy the full SHA 40e2c33View commit details -
Add 128-bit vector bit-packing with width-tagged streams
Introduce a VectorBitPackerKernels interface with a 128-lane VectorBitPacker128 for Arm NEON and other 128-bit hardware, alongside the existing 512-bit kernel. A LaneWidth enum selects the encode kernel from the preferred vector width and tags each stream; decode dispatches to the tagging width's kernel and fails loud when the host runs only narrower lanes natively. slowpack/slowunpack move into VectorFastPFOR. Decode speedup over the scalar FastPFOR codec: Graviton2 (Neoverse N1, NEON 128): 2.0-2.9x (~2.7x), encode ~15% faster Graviton4 (Neoverse V2, SVE 128): 2.3-4.1x (~3.0x), encode ~8% faster
Configuration menu - View commit details
-
Copy full SHA for 2a9e750 - Browse repository at this point
Copy the full SHA 2a9e750View commit details -
Add 256-bit vector bit-packing kernel
Add VectorBitPacker256 (AVX2, 256-bit SVE) and register it in the LaneWidth enum, so 256-bit hosts pack natively instead of stepping down to the 128-bit kernel. Decode speedup over the scalar FastPFOR codec: Graviton3 (SVE 256): 2.8-4.5x (~3.4x), encode ~13% faster AMD EPYC Zen 1 (AVX2 256): 2.4-3.1x (~2.8x), encode ~15% faster
Configuration menu - View commit details
-
Copy full SHA for bfd93b6 - Browse repository at this point
Copy the full SHA bfd93b6View commit details -
Build and test the vector module by default
Declare jdk.incubator.vector as requires static so scalar consumers resolve the module without --add-modules; only VectorFastPFOR users need it.
Configuration menu - View commit details
-
Copy full SHA for 0f4d659 - Browse repository at this point
Copy the full SHA 0f4d659View commit details -
Cover VectorFastPFOR with the shared codec test suites
SkippableBasicTest exercises maxHeadlessCompressedLength, so implement it (mirroring FastPFOR) rather than throwing.
Configuration menu - View commit details
-
Copy full SHA for 9093b1a - Browse repository at this point
Copy the full SHA 9093b1aView commit details
Commits on Jun 23, 2026
-
Merge pull request #71 from raunaqmorarka/vectorbitpacker128
Hardware-portable Vector API bit-packing for VectorFastPFOR
Configuration menu - View commit details
-
Copy full SHA for 09d26d4 - Browse repository at this point
Copy the full SHA 09d26d4View commit details -
Configuration menu - View commit details
-
Copy full SHA for e291cf3 - Browse repository at this point
Copy the full SHA e291cf3View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff JavaFastPFOR-0.3.12...JavaFastPFOR-0.3.13