- Install Rust.
- Install Python if you don't already have a reasonably recent version installed.
- Clone/download this repo and enter it.
- Run
cargo fetch
. - Create and activate a venv.
- Run
pip install -r scripts/requirements.txt
.
# generate a single number
cargo run --release -- --help
# pregenerate a range of numbers
cargo run --release --bin pregen -- --help
Remember to activate your venv before running these commands.
# build and locally install the Python package
maturin develop --release
# small demo script
python scripts/example.py
# generate performance data for several configurations of each algorithm
# note: this is very slow!
python scripts/measure_perf.py
# display graphs of performance data
# you'll need to edit these scripts manually, there's no CLI options
python scripts/display_perf.py
python scripts/efficiency.py
https://pyo3.rs/v0.17.3/getting_started
https://github.com/PyO3/maturin
Sequential algorithms are derived from https://github.com/DaComputerNerd717/Hex-Casting-Generator. Used with permission.