Organise epoch benching file
This commit is contained in:
parent
89fc386264
commit
9cc8e2598f
@ -12,6 +12,9 @@ use state_processing::{
|
|||||||
};
|
};
|
||||||
use types::{validator_registry::get_active_validator_indices, *};
|
use types::{validator_registry::get_active_validator_indices, *};
|
||||||
|
|
||||||
|
pub const BENCHING_SAMPLE_SIZE: usize = 100;
|
||||||
|
pub const SMALL_BENCHING_SAMPLE_SIZE: usize = 10;
|
||||||
|
|
||||||
/// Run the benchmarking suite on a foundation spec with 16,384 validators.
|
/// Run the benchmarking suite on a foundation spec with 16,384 validators.
|
||||||
pub fn epoch_processing_16k_validators(c: &mut Criterion) {
|
pub fn epoch_processing_16k_validators(c: &mut Criterion) {
|
||||||
let spec = ChainSpec::foundation();
|
let spec = ChainSpec::foundation();
|
||||||
@ -70,19 +73,6 @@ pub fn epoch_processing_16k_validators(c: &mut Criterion) {
|
|||||||
///
|
///
|
||||||
/// `desc` will be added to the title of each bench.
|
/// `desc` will be added to the title of each bench.
|
||||||
fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSpec, desc: &str) {
|
fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSpec, desc: &str) {
|
||||||
let state_clone = state.clone();
|
|
||||||
let spec_clone = spec.clone();
|
|
||||||
c.bench(
|
|
||||||
&format!("epoch_process_with_caches_{}", desc),
|
|
||||||
Benchmark::new("full run", move |b| {
|
|
||||||
b.iter_with_setup(
|
|
||||||
|| state_clone.clone(),
|
|
||||||
|mut state| black_box(per_epoch_processing(&mut state, &spec_clone).unwrap()),
|
|
||||||
)
|
|
||||||
})
|
|
||||||
.sample_size(10),
|
|
||||||
);
|
|
||||||
|
|
||||||
let state_clone = state.clone();
|
let state_clone = state.clone();
|
||||||
let spec_clone = spec.clone();
|
let spec_clone = spec.clone();
|
||||||
c.bench(
|
c.bench(
|
||||||
@ -93,7 +83,7 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
|mut state| black_box(calculate_active_validator_indices(&mut state, &spec_clone)),
|
|mut state| black_box(calculate_active_validator_indices(&mut state, &spec_clone)),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
|
|
||||||
let state_clone = state.clone();
|
let state_clone = state.clone();
|
||||||
@ -109,7 +99,7 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
|
|
||||||
let state_clone = state.clone();
|
let state_clone = state.clone();
|
||||||
@ -130,7 +120,7 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
|
|
||||||
let state_clone = state.clone();
|
let state_clone = state.clone();
|
||||||
@ -143,7 +133,7 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
|mut state| black_box(process_eth1_data(&mut state, &spec_clone)),
|
|mut state| black_box(process_eth1_data(&mut state, &spec_clone)),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
|
|
||||||
let state_clone = state.clone();
|
let state_clone = state.clone();
|
||||||
@ -156,7 +146,7 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
|mut state| black_box(calculate_attester_sets(&mut state, &spec_clone).unwrap()),
|
|mut state| black_box(calculate_attester_sets(&mut state, &spec_clone).unwrap()),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
|
|
||||||
let state_clone = state.clone();
|
let state_clone = state.clone();
|
||||||
@ -199,7 +189,7 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
|mut state| black_box(process_crosslinks(&mut state, &spec_clone).unwrap()),
|
|mut state| black_box(process_crosslinks(&mut state, &spec_clone).unwrap()),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
|
|
||||||
let mut state_clone = state.clone();
|
let mut state_clone = state.clone();
|
||||||
@ -232,7 +222,7 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(SMALL_BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
|
|
||||||
let state_clone = state.clone();
|
let state_clone = state.clone();
|
||||||
@ -245,7 +235,7 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
|mut state| black_box(state.process_ejections(&spec_clone)),
|
|mut state| black_box(state.process_ejections(&spec_clone)),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
|
|
||||||
let mut state_clone = state.clone();
|
let mut state_clone = state.clone();
|
||||||
@ -282,7 +272,7 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
|mut state| black_box(process_validator_registry(&mut state, &spec_clone)),
|
|mut state| black_box(process_validator_registry(&mut state, &spec_clone)),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
|
|
||||||
let state_clone = state.clone();
|
let state_clone = state.clone();
|
||||||
@ -297,7 +287,7 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
|
|
||||||
let state_clone = state.clone();
|
let state_clone = state.clone();
|
||||||
@ -310,7 +300,7 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
|mut state| black_box(update_latest_slashed_balances(&mut state, &spec_clone)),
|
|mut state| black_box(update_latest_slashed_balances(&mut state, &spec_clone)),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
|
|
||||||
let state_clone = state.clone();
|
let state_clone = state.clone();
|
||||||
@ -323,6 +313,19 @@ fn bench_epoch_processing(c: &mut Criterion, state: &BeaconState, spec: &ChainSp
|
|||||||
|mut state| black_box(clean_attestations(&mut state, &spec_clone)),
|
|mut state| black_box(clean_attestations(&mut state, &spec_clone)),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.sample_size(10),
|
.sample_size(BENCHING_SAMPLE_SIZE),
|
||||||
|
);
|
||||||
|
|
||||||
|
let state_clone = state.clone();
|
||||||
|
let spec_clone = spec.clone();
|
||||||
|
c.bench(
|
||||||
|
&format!("epoch_process_with_caches_{}", desc),
|
||||||
|
Benchmark::new("per_epoch_processing", move |b| {
|
||||||
|
b.iter_with_setup(
|
||||||
|
|| state_clone.clone(),
|
||||||
|
|mut state| black_box(per_epoch_processing(&mut state, &spec_clone).unwrap()),
|
||||||
|
)
|
||||||
|
})
|
||||||
|
.sample_size(SMALL_BENCHING_SAMPLE_SIZE),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user