-
Notifications
You must be signed in to change notification settings - Fork 532
StorageValue #8482
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
Closed
Closed
StorageValue #8482
Changes from 19 commits
Commits
Show all changes
58 commits
Select commit
Hold shift + click to select a range
e8be057
StorageValue introduced
Scooletz 9e9e68a
more by ref
Scooletz ef5cbb8
spacing
Scooletz 4e67b16
compile
Scooletz e994649
base test fixed
Scooletz 2e42d7f
comparison fixed
Scooletz 95ccb5c
healing test fixed
Scooletz 10f6ccd
tostring
Scooletz 17acda8
resolution
Scooletz 2bd79b4
force update on after equal to zero
Scooletz dfeef27
fixed test
Scooletz c392731
Merge branch 'master' into storage-value
benaadams 2fd44e2
hash store amendment
Scooletz c19e0ff
uint256 property
Scooletz b9a0cab
Merge branch 'storage-value' of https://github.com/NethermindEth/neth…
Scooletz 349c065
direct stack push
Scooletz 6415c2d
sstore amended
Scooletz 0e4313c
Trailing zero bytes made 2x faster
Scooletz c56e1dd
trailing zeros fixed
Scooletz 478d678
benchmarks redone
Scooletz 276bad6
tracers
Scooletz 17a830b
benchmark moved
Scooletz 5f42613
benchmarks for storage retrieval
Scooletz 730b2ea
by pointer
Scooletz e4a4f8e
updates
Scooletz 36a8eb0
local allocation
Scooletz bd6296c
memory reuse
Scooletz a9bb991
merged
Scooletz bdfae5b
minors
Scooletz 0ca0013
no materliazation for sstore
Scooletz f461292
epoch based storage value map
Scooletz 262988d
StorageValueMap is concurrent and is used in a concurrent way
Scooletz 7357f67
benchmarks
Scooletz 82e04bc
benchmark
Scooletz 36facc5
updated bench
Scooletz 5d01e5a
mapping made smaller
Scooletz 0708319
Merge branch 'master' into storage-value
Scooletz a77cfcb
coarse grained benchmark
Scooletz a613c9e
Merge branch 'master' into storage-value
Scooletz 7211928
benchmark fix
Scooletz ec123b2
review remarks addressed
Scooletz 6577982
Merge branch 'master' into storage-value
Scooletz 0fa3463
Merge branch 'master' into storage-value
benaadams 1d85516
amendments
Scooletz cb1b80a
tentative shared ownership over storage map
Scooletz a0431ff
fixups
Scooletz a341d0b
build
Scooletz ba38b27
Merge branch 'master' into storage-value
Scooletz c39d51b
ordering parameters
Scooletz 317166c
benchmark fix
Scooletz d0dd465
map undo;
Scooletz 746224e
storage access benchmark
Scooletz 27b48c2
ChangeTrace is pooled now
Scooletz be7e38a
Merge branch 'master' into storage-value
Scooletz 33c98b1
fixups after merge and others
Scooletz 3a837dc
Merge branch 'master' into storage-value
Scooletz 2acc2cd
fixup
Scooletz 5c66b5b
disposable
Scooletz 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
40 changes: 40 additions & 0 deletions
40
src/Nethermind/Nethermind.Evm.Benchmark/StorageValueBenchmarks.cs
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
// SPDX-FileCopyrightText: 2025 Demerzel Solutions Limited | ||
// SPDX-License-Identifier: LGPL-3.0-only | ||
|
||
using System; | ||
using BenchmarkDotNet.Attributes; | ||
using Nethermind.State; | ||
|
||
namespace Nethermind.Evm.Benchmark; | ||
|
||
public class StorageValueBenchmarks | ||
{ | ||
[Benchmark(OperationsPerInvoke = 8)] | ||
[Arguments(0)] | ||
[Arguments(1)] | ||
[Arguments(8)] | ||
[Arguments(9)] | ||
[Arguments(17)] | ||
[Arguments(18)] | ||
[Arguments(23)] | ||
[Arguments(24)] | ||
[Arguments(31)] | ||
public int LeadingZeros(int nonZero) | ||
{ | ||
Span<byte> span = stackalloc byte[32]; | ||
span[nonZero] = 1; | ||
|
||
var v = new StorageValue(span); | ||
|
||
return | ||
v.BytesWithNoLeadingZeroes.Length + | ||
v.BytesWithNoLeadingZeroes.Length + | ||
v.BytesWithNoLeadingZeroes.Length + | ||
v.BytesWithNoLeadingZeroes.Length + | ||
|
||
v.BytesWithNoLeadingZeroes.Length + | ||
v.BytesWithNoLeadingZeroes.Length + | ||
v.BytesWithNoLeadingZeroes.Length + | ||
v.BytesWithNoLeadingZeroes.Length; | ||
} | ||
} |
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
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.
Uh oh!
There was an error while loading. Please reload this page.