All Versions
8
Latest Version
Avg Release Cycle
45 days
Latest Release
1599 days ago
Changelog History
Changelog History
-
v0.6.0 Changes
November 08, 2020- โ Adding support for incremental initialization api.
- A more space efficient way to use the library.
- Warning : currently does not support deduplication.
- ๐ Various bug fixes.
- ๐ Fixing test macros.
- โ Adding support for incremental initialization api.
-
v0.5.2 Changes
October 24, 2020Fix nif compile on Erlang 23 by removing
erl_interface
fromc_src
Makefile. -
v0.5.1 Changes
October 24, 2020๐ Use of
contains
with a binary created fromto_bin
. -
v0.5.0 Changes
February 24, 2020โ Addition of serialization / deserialization of the xor filters to get them in pure binary. Thanks to @Vagabond !
-
v0.4.2 Changes
February 22, 2020๐ Included in this release:
Increased memory management, courtesy of @Vagabond
-
v0.4.1 Changes
January 20, 2020๐ Included in this release:
- โฌ๏ธ Upgraded xor_filter headerfile. Includes protections against dups.
- Included fix in xor_filter header file found by
cppcheck
.- PR for upstream found here: FastFilter/xor_singleheader#14
- ๐ Used
cppcheck
on nif code, looks clean. - ๐ Performance increases
- Using a custom tail-recursive
over_10_thousand/1
instead oflength/1
function for greater performance on large lists. - Removing dup key checking from erlang code, now found in underlying library.
- Using a custom tail-recursive
- โ Address typo for freeing the wrong pointer
- 0๏ธโฃ Using
lists:map
instead oflists:foldr
, as it isn't tail recursive, for the default hash. - โ Removed raw interface, no longer has any speed benefits.
-
v0.3.0 Changes
January 06, 2020๐ This release is the 'production readiness' release.
Includes:
- Error when duplicate keys are present in the hash function and pre-hashed options, there is no longer the risk of an infinite loop during initialization!
- The
default_hash
squashes dupes, so that there is no risk of this happening here either.
- The
- A 'raw' interface to avoid this, use with caution.
- Convenience modules
xor8
andxor16
. ๐ 4. Dialyzer fixes โ 5. Moar tests ๐ 6. Documentation updates. - Simplified C and erlang code
- Removal of
fast_hash
option, as duplication checking would have voided the usefulness.
- Error when duplicate keys are present in the hash function and pre-hashed options, there is no longer the risk of an infinite loop during initialization!
-
v0.0.1 Changes
December 26, 2019v0.0.1 CHANGELOG
- Two hashing methods are provided
default_hash
, which uses theerlang:phash2/1
functionfast_hash
, which is faster but inconsistent across nodes.
- A custom hash function may be provided
- Pre-hashed data may be passed as well.
- ๐ Initialization using a dirty nif is used if the passed list is greater than 10K elements. So it is 'safe' to load large amounts of data.
- It takes 2 seconds to initialize a filter of 10M elements using the
exor_filter:xor8_buffered/2
function with pre-hashed data.- Our example used keys that were generated sequentially ๐
- Two hashing methods are provided