-
Notifications
You must be signed in to change notification settings - Fork 1k
Add bloom filter to hashset #3878
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
It should add some benchmarks. |
@@ -81,8 +81,8 @@ public RemoteNode(NeoSystem system, LocalNode localNode, object connection, IPEn | |||
{ | |||
this.system = system; | |||
this.localNode = localNode; | |||
knownHashes = new HashSetCache<UInt256>(system.MemPool.Capacity * 2 / 5); | |||
sentHashes = new HashSetCache<UInt256>(system.MemPool.Capacity * 2 / 5); | |||
_knownHashes = new HashSetUInt256Cache(system.MemPool.Capacity * 2 / 5); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will be a good change, when you say it is ready we will test.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
recently, in our investigations, we also considered a bloom filter hashset that is SENT together with the commit!
So, nodes can have a quite good idea of which transactions are in the mempool of other validators.
With such knowledge we were able to reach 150k TPS - 200k TPS theoretically.
However, this is currently not the need of our chain, but can be a great marketing and advance in the consensus.
Description
This pr add a bloom filter in order to speed up the hash searching
Type of change
How Has This Been Tested?
Test Configuration:
Checklist: