mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
chore: rm async from state root from bench (#13472)
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@ -9660,7 +9660,6 @@ dependencies = [
|
|||||||
"reth-trie-common",
|
"reth-trie-common",
|
||||||
"reth-trie-db",
|
"reth-trie-db",
|
||||||
"thiserror 2.0.7",
|
"thiserror 2.0.7",
|
||||||
"tokio",
|
|
||||||
"tracing",
|
"tracing",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@ -46,13 +46,8 @@ reth-trie = { workspace = true, features = ["test-utils"] }
|
|||||||
|
|
||||||
# misc
|
# misc
|
||||||
rand.workspace = true
|
rand.workspace = true
|
||||||
tokio = { workspace = true, default-features = false, features = [
|
|
||||||
"sync",
|
|
||||||
"rt",
|
|
||||||
"macros",
|
|
||||||
] }
|
|
||||||
rayon.workspace = true
|
rayon.workspace = true
|
||||||
criterion = { workspace = true, features = ["async_tokio"] }
|
criterion.workspace = true
|
||||||
proptest.workspace = true
|
proptest.workspace = true
|
||||||
proptest-arbitrary-interop.workspace = true
|
proptest-arbitrary-interop.workspace = true
|
||||||
|
|
||||||
|
|||||||
@ -19,8 +19,6 @@ pub fn calculate_state_root(c: &mut Criterion) {
|
|||||||
let mut group = c.benchmark_group("Calculate State Root");
|
let mut group = c.benchmark_group("Calculate State Root");
|
||||||
group.sample_size(20);
|
group.sample_size(20);
|
||||||
|
|
||||||
let runtime = tokio::runtime::Runtime::new().unwrap();
|
|
||||||
|
|
||||||
for size in [1_000, 3_000, 5_000, 10_000] {
|
for size in [1_000, 3_000, 5_000, 10_000] {
|
||||||
let (db_state, updated_state) = generate_test_data(size);
|
let (db_state, updated_state) = generate_test_data(size);
|
||||||
let provider_factory = create_test_provider_factory();
|
let provider_factory = create_test_provider_factory();
|
||||||
@ -37,14 +35,14 @@ pub fn calculate_state_root(c: &mut Criterion) {
|
|||||||
|
|
||||||
// state root
|
// state root
|
||||||
group.bench_function(BenchmarkId::new("sync root", size), |b| {
|
group.bench_function(BenchmarkId::new("sync root", size), |b| {
|
||||||
b.to_async(&runtime).iter_with_setup(
|
b.iter_with_setup(
|
||||||
|| {
|
|| {
|
||||||
let sorted_state = updated_state.clone().into_sorted();
|
let sorted_state = updated_state.clone().into_sorted();
|
||||||
let prefix_sets = updated_state.construct_prefix_sets().freeze();
|
let prefix_sets = updated_state.construct_prefix_sets().freeze();
|
||||||
let provider = provider_factory.provider().unwrap();
|
let provider = provider_factory.provider().unwrap();
|
||||||
(provider, sorted_state, prefix_sets)
|
(provider, sorted_state, prefix_sets)
|
||||||
},
|
},
|
||||||
|(provider, sorted_state, prefix_sets)| async move {
|
|(provider, sorted_state, prefix_sets)| {
|
||||||
let hashed_cursor_factory = HashedPostStateCursorFactory::new(
|
let hashed_cursor_factory = HashedPostStateCursorFactory::new(
|
||||||
DatabaseHashedCursorFactory::new(provider.tx_ref()),
|
DatabaseHashedCursorFactory::new(provider.tx_ref()),
|
||||||
&sorted_state,
|
&sorted_state,
|
||||||
@ -59,14 +57,14 @@ pub fn calculate_state_root(c: &mut Criterion) {
|
|||||||
|
|
||||||
// parallel root
|
// parallel root
|
||||||
group.bench_function(BenchmarkId::new("parallel root", size), |b| {
|
group.bench_function(BenchmarkId::new("parallel root", size), |b| {
|
||||||
b.to_async(&runtime).iter_with_setup(
|
b.iter_with_setup(
|
||||||
|| {
|
|| {
|
||||||
ParallelStateRoot::new(
|
ParallelStateRoot::new(
|
||||||
view.clone(),
|
view.clone(),
|
||||||
TrieInput::from_state(updated_state.clone()),
|
TrieInput::from_state(updated_state.clone()),
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|calculator| async { calculator.incremental_root() },
|
|calculator| calculator.incremental_root(),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -259,8 +259,8 @@ mod tests {
|
|||||||
use reth_provider::{test_utils::create_test_provider_factory, HashingWriter};
|
use reth_provider::{test_utils::create_test_provider_factory, HashingWriter};
|
||||||
use reth_trie::{test_utils, HashedPostState, HashedStorage};
|
use reth_trie::{test_utils, HashedPostState, HashedStorage};
|
||||||
|
|
||||||
#[tokio::test]
|
#[test]
|
||||||
async fn random_parallel_root() {
|
fn random_parallel_root() {
|
||||||
let factory = create_test_provider_factory();
|
let factory = create_test_provider_factory();
|
||||||
let consistent_view = ConsistentDbView::new(factory.clone(), None);
|
let consistent_view = ConsistentDbView::new(factory.clone(), None);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user