Skip to content

Bloom filter updates#297

Merged
dgenr8 merged 7 commits intobitcoinxt:masterfrom
dagurval:15-01-bloom
Jan 18, 2018
Merged

Bloom filter updates#297
dgenr8 merged 7 commits intobitcoinxt:masterfrom
dagurval:15-01-bloom

Conversation

@dagurval
Copy link
Copy Markdown
Member

@dagurval
Copy link
Copy Markdown
Member Author

If #298 is merged first, then I can also cherry pick a benchmark commit to this PR

@dgenr8
Copy link
Copy Markdown
Member

dgenr8 commented Jan 16, 2018

Ok reviewing #298 first.

sipa and others added 7 commits January 17, 2018 07:38
This patch changes the implementation from one that stores 16 2-bit integers
in one uint32_t's, to one that stores the first bit of 64 2-bit integers in
one uint64_t and the second bit in another. This allows for 450x faster
refreshing and 2.2x faster average speed.
Fixes newly initialized bloom filters being
constructed with isEmpty(false), which still
works but loses the possible speedup when
checking for key membership in an empty filter.
On msvc14, the compiler error C4146 (unary minus operator applied to unsigned type, result still unsigned) had been occured.
Use '0 - x' styled formula instead of '-x' so as to fix the error.
…ed type)

On msvc14, int literal '-2147483648' is invalid, because '2147483648' is unsigned type and cant't apply minus operator to unsigned type.
To define the int literal correctly, use '-2147483647 - 1' formula that is also used to define INT_MIN in limits.h.
@dagurval
Copy link
Copy Markdown
Member Author

Rebased and added benchmark

@dgenr8
Copy link
Copy Markdown
Member

dgenr8 commented Jan 18, 2018

dgenr8@dgenr8-VirtualBox:~/bitcoinxt$ src/bench/bench_bitcoin 
Benchmark,count,min,max,average
RollingBloom-refresh,1,0.001404,0.001404,0.001404
RollingBloom-refresh,1,0.001755,0.001755,0.001755
RollingBloom-refresh,1,0.001535,0.001535,0.001535
RollingBloom,196607,3.98234e-06,2.44314e-05,5.37991e-06
Sleep100ms,10,0.100104,0.100956,0.100351
Trig,10485759,7.61647e-08,1.50204e-05,1.01944e-07

@dgenr8 dgenr8 self-requested a review January 18, 2018 00:31
@dgenr8 dgenr8 merged commit f809ccd into bitcoinxt:master Jan 18, 2018
@dagurval dagurval deleted the 15-01-bloom branch January 18, 2018 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants