-
Notifications
You must be signed in to change notification settings - Fork 197
[Cadence VM] Merge master #8006
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
Open
turbolent
wants to merge
167
commits into
feature/cadence-vm
Choose a base branch
from
bastian/sync-cadence-vm
base: feature/cadence-vm
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Currently, some memory caches that use concatenated IDs, etc., as keys can contain items that were already deleted from the database. For use cases where we know the exact key to be deleted, the problem was already solved by flow-go#7324 and delete-by-key is fast enough (it is the max possible delete speed of hashicorp/golang-lru). Unfortunately, deleting a set of keys without knowing the exact keys to delete would be too slow, especially as the cache size grows. As an added risk, the cache size is configurable by flag. This commit uses the new GroupCache LRU created for deleting group of keys at the max speed of hashicorp/golang-lru when we only have the prefix that would match the keys we want to delete. GroupCache is a new LRU that was created for this use case at github.com/fxamacker/golang-lru GroupCache retains the fast speed of Get while also allowing the delete-by-group performance to be relatively stable even as number of total items in the cache grows. The trade-off is to use some extra memory (cached keys). Previously, using the old approach of using RemoveFunc would be roughly 2x slower than delete-by-key and become even slower than that if the cache size is larger. GroupCache is only about 17% slower than delete-by-key (the max possible speed) when deleting 5,000 keys in groups of 5 (i.e., each key prefix matching 5 keys). delete-by-key delete-by-group 697.1µ ± 11% 814.7µ ± 1% +16.86% (p=0.000 n=20) These benchmarks show GroupCache does not slow down when deleting keys by group as cache size grows. cache_size_1,000 8565 ns/op cache_size_2,000 9709 ns/op cache_size_3,000 9451 ns/op cache_size_4,000 10370 ns/op cache_size_5,000 10073 ns/op cache_size_10,000 8268 ns/op These results are very preliminary and may change. NOTE: GroupCache will require extra memory (to hold keys).
Co-authored-by: Jordan Schalm <[email protected]>
Change system chunk logging
…e' into leo/refactor-epoch-protocol-state
[Storage] Refactor epoch protocol state
Refactor and cleanup progress logger
Co-authored-by: Alexander Hentschel <[email protected]>
Refactor notifier_test to use synctest
Update to Cadence v1.7.1
[ExecutionData] Update lz4 compression library
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
SupunS
approved these changes
Oct 6, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merge
master
into the Cadence VM feature branch based onmaster
,feature/cadence-vm
.