forked from bitcoin/bitcoin
-
Couldn't load subscription status.
- Fork 1.2k
perf: use cache for SML #6738
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
Merged
Merged
perf: use cache for SML #6738
Changes from 11 commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
e8949c8
refactor: move CSimplifiedMNListDiffs::ToJson to evo/core_write
knst c2e053f
refactor: move diff related code from evo/simplifiedmns to new module…
knst bbd8731
fmt: apply clang-format suggestions
knst 3b4a1a0
feat: new GetSML method for CDeterministicMNList
knst 7bed080
perf: cache shared_ptr to SML instead of SML list
knst 63031da
refactor: drop dependency SML on DMN
knst 83c667e
refactor: update comment for SML cache population
PastaPastaPasta 53190a5
refactor: enhance thread safety for SML caching with mutex protection
PastaPastaPasta d61f44e
refactor: centralize SML cache invalidation logic
PastaPastaPasta d0a2791
test: add comprehensive unit tests for SML caching mechanism
PastaPastaPasta b75e640
refactor: add gsl::not_null annotation for cached_sml and CalcCbTxMer…
knst 8a68ec6
fix: remove duplicated check for hash existance in map, avoid hash re…
knst bc01e96
fmt: re-order include accorindgly to clang formatter
knst File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
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.
🛠️ Refactor suggestion
Consider using immutable data structures for thread safety.
According to the coding guidelines, masternode lists must use immutable data structures (Immer library) for thread safety. The current implementation uses
std::mutexfor synchronization, which may not align with the required approach.Consider refactoring to use Immer's immutable data structures instead of mutex-based synchronization to comply with the coding guidelines for the
src/{masternode,evo}/**modules.🤖 Prompt for AI Agents