-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: vprus/fastfilter_java
base: master
head repository: FastFilter/fastfilter_java
compare: master
- 11 commits
- 15 files changed
- 5 contributors
Commits on Jan 21, 2026
-
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.
Configuration menu - View commit details
-
Copy full SHA for 42aef91 - Browse repository at this point
Copy the full SHA 42aef91View commit details
Commits on Jan 23, 2026
-
Merge pull request FastFilter#53 from vprus/serialization-streams
Xor: implement stream serialization
Configuration menu - View commit details
-
Copy full SHA for c82ee05 - Browse repository at this point
Copy the full SHA c82ee05View commit details
Commits on Feb 23, 2026
-
Configuration menu - View commit details
-
Copy full SHA for cbc2090 - Browse repository at this point
Copy the full SHA cbc2090View commit details -
Configuration menu - View commit details
-
Copy full SHA for 21e1714 - Browse repository at this point
Copy the full SHA 21e1714View commit details
Commits on Feb 26, 2026
-
Configuration menu - View commit details
-
Copy full SHA for e1d04ae - Browse repository at this point
Copy the full SHA e1d04aeView commit details
Commits on Jul 29, 2026
-
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).
Configuration menu - View commit details
-
Copy full SHA for 993bc98 - Browse repository at this point
Copy the full SHA 993bc98View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for f774f0f - Browse repository at this point
Copy the full SHA f774f0fView commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for e13c35d - Browse repository at this point
Copy the full SHA e13c35dView commit details
Commits on Jul 30, 2026
-
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).
Configuration menu - View commit details
-
Copy full SHA for 48c063e - Browse repository at this point
Copy the full SHA 48c063eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 26baaf9 - Browse repository at this point
Copy the full SHA 26baaf9View commit details -
Merge pull request FastFilter#54 from amikumar91/feature/ribbon-filter
Add Ribbon filter implementation
Configuration menu - View commit details
-
Copy full SHA for 334e394 - Browse repository at this point
Copy the full SHA 334e394View 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