Update BeaconStateBuilder API

This commit is contained in:
Paul Hauner
2019-02-26 22:00:07 +13:00
parent 5cfc9cb21d
commit af17fb1d03
6 changed files with 89 additions and 50 deletions

View File

@@ -2,24 +2,30 @@ use criterion::Criterion;
use criterion::{black_box, criterion_group, criterion_main};
// use env_logger::{Builder, Env};
use state_processing::SlotProcessable;
use types::*;
use types::beacon_state::BeaconStateBuilder;
use types::*;
fn epoch_processing(c: &mut Criterion) {
// Builder::from_env(Env::default().default_filter_or("debug")).init();
let mut builder = BeaconStateBuilder::with_random_validators(8);
let mut builder = BeaconStateBuilder::new(8);
builder.spec = ChainSpec::few_validators();
builder.genesis().unwrap();
builder.build().unwrap();
builder.teleport_to_end_of_epoch(builder.spec.genesis_epoch + 4);
let mut state = builder.build().unwrap();
let mut state = builder.cloned_state();
// Build all the caches so the following state does _not_ include the cache-building time.
state.build_epoch_cache(RelativeEpoch::Previous, &builder.spec).unwrap();
state.build_epoch_cache(RelativeEpoch::Current, &builder.spec).unwrap();
state.build_epoch_cache(RelativeEpoch::Next, &builder.spec).unwrap();
state
.build_epoch_cache(RelativeEpoch::Previous, &builder.spec)
.unwrap();
state
.build_epoch_cache(RelativeEpoch::Current, &builder.spec)
.unwrap();
state
.build_epoch_cache(RelativeEpoch::Next, &builder.spec)
.unwrap();
let cached_state = state.clone();

View File

@@ -8,13 +8,13 @@ use types::*;
fn runs_without_error() {
Builder::from_env(Env::default().default_filter_or("error")).init();
let mut builder = BeaconStateBuilder::with_random_validators(8);
let mut builder = BeaconStateBuilder::new(8);
builder.spec = ChainSpec::few_validators();
builder.genesis().unwrap();
builder.build().unwrap();
builder.teleport_to_end_of_epoch(builder.spec.genesis_epoch + 4);
let mut state = builder.build().unwrap();
let mut state = builder.cloned_state();
let spec = &builder.spec;
state.per_epoch_processing(spec).unwrap();