Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: blacelle/JavaFastPFOR
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: fast-pack/JavaFastPFOR
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 19 commits
  • 18 files changed
  • 3 contributors

Commits on Mar 15, 2026

  1. Merge pull request fast-pack#69 from blacelle/master

    Add Automatic-Module-Name in MANIFEST.MF
    lemire authored Mar 15, 2026
    Configuration menu
    Copy the full SHA
    91edb28 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dee14e3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5b473c7 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2026

  1. 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.
    raunaqmorarka committed Jun 17, 2026
    Configuration menu
    Copy the full SHA
    4beeed0 View commit details
    Browse the repository at this point in the history
  2. Merge pull request fast-pack#70 from raunaqmorarka/unrolled-long-bitp…

    …acking
    
    Add unrolled bit-packing kernels for longs (widths 1..63)
    lemire authored Jun 17, 2026
    Configuration menu
    Copy the full SHA
    e0c8fb3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    aa73c53 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    933a84d View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2026

  1. 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.
    raunaqmorarka committed Jun 22, 2026
    Configuration menu
    Copy the full SHA
    40e2c33 View commit details
    Browse the repository at this point in the history
  2. 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
    raunaqmorarka committed Jun 22, 2026
    Configuration menu
    Copy the full SHA
    2a9e750 View commit details
    Browse the repository at this point in the history
  3. 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
    raunaqmorarka committed Jun 22, 2026
    Configuration menu
    Copy the full SHA
    bfd93b6 View commit details
    Browse the repository at this point in the history
  4. 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.
    raunaqmorarka committed Jun 22, 2026
    Configuration menu
    Copy the full SHA
    0f4d659 View commit details
    Browse the repository at this point in the history
  5. Cover VectorFastPFOR with the shared codec test suites

    SkippableBasicTest exercises maxHeadlessCompressedLength, so implement it
    (mirroring FastPFOR) rather than throwing.
    raunaqmorarka committed Jun 22, 2026
    Configuration menu
    Copy the full SHA
    9093b1a View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2026

  1. Merge pull request fast-pack#71 from raunaqmorarka/vectorbitpacker128

    Hardware-portable Vector API bit-packing for VectorFastPFOR
    lemire authored Jun 23, 2026
    Configuration menu
    Copy the full SHA
    09d26d4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e291cf3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    acc89e2 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2026

  1. 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.
    raunaqmorarka committed Jun 24, 2026
    Configuration menu
    Copy the full SHA
    7d7c36b View commit details
    Browse the repository at this point in the history
  2. Merge pull request fast-pack#72 from raunaqmorarka/vector-binary-packing

    Add vectorized BinaryPacking int codec
    lemire authored Jun 24, 2026
    Configuration menu
    Copy the full SHA
    4d90b1c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    53bec6f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a6518ff View commit details
    Browse the repository at this point in the history
Loading