Skip to content
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

Only persist net SStore changes #6931

Merged
merged 1 commit into from
Apr 18, 2024
Merged

Only persist net SStore changes #6931

merged 1 commit into from
Apr 18, 2024

Conversation

benaadams
Copy link
Member

@benaadams benaadams commented Apr 18, 2024

Changes

  • Only persist net SStore changes (don't write where value is same as initial)
    • Common pattern of this in Solidity is a reentrency flag, where value is set at start of txn and then set back at end

Types of changes

What types of changes does your code introduce?

  • Optimization

Logging the counts of changes (where above 0) in this function. This write is per tx so many per block, if cache was pre block it would be further reduced.

18 Apr 12:33:17 | Rerunning block after reorg or pruning: 19668566 (0x76dfb9...b0b38f)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 5 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 2 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 61 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 2 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 2 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 5 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 5 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 2 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 1 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 8 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 2 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 4 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Skipped SStore writes 3 (Initial value same as changed value)
18 Apr 12:33:17 | Rerunning block after reorg or pruning: 19668567 (0x1517ca...131f5c)

Testing

Requires testing

  • No

@benaadams
Copy link
Member Author

@benaadams benaadams marked this pull request as ready for review April 18, 2024 12:36
@benaadams
Copy link
Member Author

Hive tests pass

@benaadams benaadams merged commit 6eda258 into master Apr 18, 2024
135 of 136 checks passed
@benaadams benaadams deleted the only-persist-net-sstore branch April 18, 2024 14:21
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.

2 participants