Get benchmarks running again.
This commit is contained in:
@@ -63,19 +63,28 @@ impl Individual for Parabole {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn criterion_benchmark(c: &mut Criterion) {
|
fn criterion_benchmark(c: &mut Criterion) {
|
||||||
|
c.bench_function("calculate", move |b| {
|
||||||
let initial = (0..1000)
|
let initial = (0..1000)
|
||||||
.map(|i| Parabole { x: i as f64 })
|
.map(|i| Parabole { x: f64::from(i) })
|
||||||
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
|
let mut simulation = Simulation::with_population(initial);
|
||||||
|
|
||||||
|
b.iter(|| {
|
||||||
|
simulation.calculate();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
c.bench_function("evolve", move |b| {
|
||||||
|
let initial = (0..1000)
|
||||||
|
.map(|i| Parabole { x: f64::from(i) })
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
||||||
let population_size = initial.len();
|
let population_size = initial.len();
|
||||||
|
|
||||||
let mut simulation = Simulation::with_population(initial);
|
let mut simulation = Simulation::with_population(initial);
|
||||||
|
|
||||||
c.bench_function("calculate", |b| b.iter(|| {
|
b.iter(|| {
|
||||||
simulation.calculate();
|
|
||||||
}));
|
|
||||||
|
|
||||||
c.bench_function("evolve", |b| b.iter(|| {
|
|
||||||
simulation.evolve(|parents, population| {
|
simulation.evolve(|parents, population| {
|
||||||
// Mate top 10 to get 5 children.
|
// Mate top 10 to get 5 children.
|
||||||
parents
|
parents
|
||||||
@@ -120,7 +129,8 @@ fn criterion_benchmark(c: &mut Criterion) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
simulation.population.truncate(population_size);
|
simulation.population.truncate(population_size);
|
||||||
}));
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
criterion_group!(benches, criterion_benchmark);
|
criterion_group!(benches, criterion_benchmark);
|
||||||
|
|||||||
Reference in New Issue
Block a user