|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Perf-gate anchor: Hashlife advanced 2^20 generations. More...
#include <cstddef>#include <cstdint>#include <random>#include <benchmarks/ca/bench_support.H>#include <tpl_ca_hashlife.H>Go to the source code of this file.
Functions | |
| int | main () |
Perf-gate anchor: Hashlife advanced 2^20 generations.
The roadmap calls for a quadratically growing "breeder" so that Hashlife's node table keeps expanding and cannot fully memoise the run, which is what makes the wall time large and stable enough to gate on. A periodic emitter such as a glider gun would compress almost perfectly and collapse to a sub-millisecond, jitter-dominated measurement.
To get the same effect with a pattern that is guaranteed valid and fully deterministic (no fragile hand-typed RLE), this anchor seeds a fixed-seed chaotic soup. Its long transient forces Hashlife to canonicalise a large, ever-changing set of nodes while a single exponential advance(20) jumps 2^20 generations, exercising the engine the way a true breeder would.
Definition in file bench_hashlife_breeder.cc.
| int main | ( | void | ) |
Definition at line 40 of file bench_hashlife_breeder.cc.
References Aleph::blossom_maximum_cardinality_matching(), Aleph::CA::Bench::emit_json(), engine, Aleph::CA::Bench::measure(), Aleph::CA::Bench::resolve_repeats(), rng, and y.