-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: blacelle/JavaFastPFOR
base: master
head repository: fast-pack/JavaFastPFOR
compare: master
- 19 commits
- 18 files changed
- 3 contributors
Commits on Mar 15, 2026
-
Merge pull request fast-pack#69 from blacelle/master
Add Automatic-Module-Name in MANIFEST.MF
Configuration menu - View commit details
-
Copy full SHA for 91edb28 - Browse repository at this point
Copy the full SHA 91edb28View commit details -
Configuration menu - View commit details
-
Copy full SHA for dee14e3 - Browse repository at this point
Copy the full SHA dee14e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b473c7 - Browse repository at this point
Copy the full SHA 5b473c7View commit details
Commits on Jun 17, 2026
-
Add unrolled bit-packing kernels for longs (widths 1..63)
Branch-free unrolled fastpackwithoutmask/fastunpack for all widths, mirroring the 32-bit BitPacking. Measured on Graviton (aarch64), Corretto 21, median over widths 1..63: pack 1.93x, unpack 2.66x.
Configuration menu - View commit details
-
Copy full SHA for 4beeed0 - Browse repository at this point
Copy the full SHA 4beeed0View commit details -
Merge pull request fast-pack#70 from raunaqmorarka/unrolled-long-bitp…
…acking Add unrolled bit-packing kernels for longs (widths 1..63)
Configuration menu - View commit details
-
Copy full SHA for e0c8fb3 - Browse repository at this point
Copy the full SHA e0c8fb3View commit details -
Configuration menu - View commit details
-
Copy full SHA for aa73c53 - Browse repository at this point
Copy the full SHA aa73c53View commit details -
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 fast-pack#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 -
Configuration menu - View commit details
-
Copy full SHA for acc89e2 - Browse repository at this point
Copy the full SHA acc89e2View commit details
Commits on Jun 24, 2026
-
Add vectorized BinaryPacking int codec
BinaryPacking using the Vector API pack/unpack kernels: each block is packed at its own maxbits with no exceptions. The maxbits computation is vectorized via an OR-reduction over the block. On Graviton4 (Neoverse V2, SVE2 128-bit), full codec round trip vs scalar BinaryPacking over 256K random ints: compress 2.5-3.0x faster across all bit widths; decompress 4.0x at low widths, tapering to 2.4x near width 31.
Configuration menu - View commit details
-
Copy full SHA for 7d7c36b - Browse repository at this point
Copy the full SHA 7d7c36bView commit details -
Merge pull request fast-pack#72 from raunaqmorarka/vector-binary-packing
Add vectorized BinaryPacking int codec
Configuration menu - View commit details
-
Copy full SHA for 4d90b1c - Browse repository at this point
Copy the full SHA 4d90b1cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 53bec6f - Browse repository at this point
Copy the full SHA 53bec6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a6518ff - Browse repository at this point
Copy the full SHA a6518ffView 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 master...master