Livebook and benchmarks
View SourceThe repository includes executable examples for learning and local measurement:
Run locally
Install or open Livebook, then open a .livemd file
from the notebooks directory. Each user-facing notebook installs the Hex
release it documents. The contributing notebook instead points at the parent
checkout so local edits are visible.
Benchmark scripts
The command-line Benchee suites are:
mix bench.password
mix bench.dict
mix bench.batch
mix bench.all
Normal mode uses multi-second warmup and measurement windows. CI=true selects
short windows and smaller batch sizes so CI can verify that the scripts compile
and run:
CI=true mix bench.all
CI-mode output is a smoke test, not a stable performance measurement. Even full local results vary with runtime versions, CPU frequency, temperature, scheduler load, and power settings. Keep that environment metadata with published values.
Interpreting results
- Common EFF word ranges use precomputed tuples, but uncommon/custom ranges may assemble candidates from a by-length index.
- Buffered batch generation reduces crypto calls, but it is not guaranteed to outperform individual generation at every batch size.
- Seen-entropy analysis enumerates reachable transformed outputs to find collisions and is expected to cost more than one password generation.
- Very short operations can show large relative deviation because timer and scheduler noise dominate the measured work.
Regenerate checked-in reports only from a clean checkout after correctness gates pass. Do not turn one machine's results into a general speedup claim.