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: vprus/fastfilter_java
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: FastFilter/fastfilter_java
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.
  • 11 commits
  • 15 files changed
  • 5 contributors

Commits on Jan 21, 2026

  1. Xor: implement stream serialization

    There are already methods operating on ByteBuffer, however versions
    taking streams allow to avoid data copying, and more directly compatible
    with various network APIs. Also, for reference, Guava Bloom filter implementation
    uses streams.
    
    There's a bit of code duplication as the result. Sadly, there's no standard
    class to wrap ByteBuffer in a stream, and pulling in an external dependency
    seems like an overkill here.
    vprus committed Jan 21, 2026
    Configuration menu
    Copy the full SHA
    42aef91 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2026

  1. Merge pull request FastFilter#53 from vprus/serialization-streams

    Xor: implement stream serialization
    lemire authored Jan 23, 2026
    Configuration menu
    Copy the full SHA
    c82ee05 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2026

  1. Configuration menu
    Copy the full SHA
    cbc2090 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    21e1714 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2026

  1. Update README.md

    thomasmueller authored Feb 26, 2026
    Configuration menu
    Copy the full SHA
    e1d04ae View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2026

  1. Add RibbonFilter core: banding, back-substitution, and query

    Implements the standard (non-homogeneous, w=64) Ribbon filter
      construction and membership query described in issue FastFilter#33, following
      Xor8's structure (hash-derive, build-with-retries, query-by-recombine).
    amikumar91 committed Jul 29, 2026
    Configuration menu
    Copy the full SHA
    993bc98 View commit details
    Browse the repository at this point in the history
  2. Add RibbonFilter serialization and round-trip test coverage

    Mirrors Xor8's ByteBuffer/OutputStream serialize + static deserialize
      convention. Unlike Xor8, numSlots/numStarts must be stored explicitly
      (not re-derived from size) since the construction retry loop can grow
      the slot count beyond the simple sizing formula.
    amikumar91 committed Jul 29, 2026
    Configuration menu
    Copy the full SHA
    f774f0f View commit details
    Browse the repository at this point in the history
  3. Register RibbonFilter as FilterType.RIBBON / TestFilterType.RIBBON

    Setting is ignored the same way XOR_8/XOR_16/XOR_PLUS_8 ignore it here:
      TestAllFilters.test() hardcodes setting=10 for every TestFilterType,
      which would exceed RibbonFilter's 8-bit (byte-storage) ceiling if
      passed through.
    amikumar91 committed Jul 29, 2026
    Configuration menu
    Copy the full SHA
    e13c35d View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2026

  1. Rename RibbonFilter to RibbonNaiveFilter, RIBBON to RIBBON_NAIVE

    Reserves the RibbonFilter/RIBBON name for a future
      ICML-backed implementation with fast queries; this one keeps
      the naive O(w*r) per-column query, which is 70-100x slower
      than the Xor filters (see PR FastFilter#54 benchmark).
    amikumar91 committed Jul 30, 2026
    Configuration menu
    Copy the full SHA
    48c063e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    26baaf9 View commit details
    Browse the repository at this point in the history
  3. Merge pull request FastFilter#54 from amikumar91/feature/ribbon-filter

    Add Ribbon filter implementation
    thomasmueller authored Jul 30, 2026
    Configuration menu
    Copy the full SHA
    334e394 View commit details
    Browse the repository at this point in the history
Loading