-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Write-Through Inter-Block Cache #4748
Conversation
16aa940
to
04c3bac
Compare
@@ -38,13 +37,8 @@ func RandomAccounts(r *rand.Rand, n int) []Account { | |||
// don't need that much entropy for simulation | |||
privkeySeed := make([]byte, 15) | |||
r.Read(privkeySeed) | |||
useSecp := r.Int63()%2 == 0 |
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.
Is this related to the cahce change?
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.
Not directly, but was needed for initial benchmarking which I henceforth removed. So technically I can undo this change, but we only support secp256k1 keys anyway. Might as well keep it.
Co-Authored-By: Aditya <adityasripal@gmail.com>
Co-Authored-By: Aditya <adityasripal@gmail.com>
Co-Authored-By: Aditya <adityasripal@gmail.com>
Co-Authored-By: Aditya <adityasripal@gmail.com>
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.
utACK
@cwgoes I've shared benchmarks and we can see this does indeed offer great improvement, specifically within I've addressed all comments @AdityaSripal @tnachen 👍 |
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.
utACK on the inter-block cache implementation; I didn't review the baseapp
changes.
baseapp/
directory by logical grouping to improve readability.BaseApp
docs w/ diagrams 🎉CommitKVStoreCacheManager
which acts as a persistent inter-block write-through cache.StoreKey
to a*CommitKVStoreCache
(LRU ARC cache).CommitKVStoreCacheManager
is created in an app and set on theBaseApp
.BaseApp
sets this persistent cache on the rootCommitMultiStore
.Store
is wrapped with it's own respective*CommitKVStoreCache
.Preliminary benchmarks show there is only a marginal improvement.
closes: #1947
Targeted PR against correct branch (see CONTRIBUTING.md)
Linked to github-issue with discussion and accepted design OR link to spec that describes this work.
Wrote tests
Updated relevant documentation (
docs/
)Added a relevant changelog entry:
clog add [section] [stanza] [message]
rereviewed
Files changed
in the github PR explorerFor Admin Use: