Skip to content

BZ performance report: correct the timeout list and idle-core recipe #9155

Description

@kim-em

Problem

The post-#9130 data and all 25 generated figures are current, but two pieces of
prose still describe the preceding state.

  1. reports/hex-berlekamp-zassenhaus-performance.md says there are 16 Hex
    timeouts and includes cyclo_phi1031. The current record
    hexbz-factor-sweep-bf5973a3-hex-chungus2-run5.json has 377 successes and
    15 timeouts; BZ recombination: reject impossible exact divisors over a word-sized prime #9130 newly solves cyclo_phi1031 in about 4.176 seconds.
  2. reports/hexbz-factor-sweep.md still regenerates with taskset -c 0.
    Issue fix(bench): pin measurements to a verified-idle core, not to core 0 #9139 landed scripts/bench/idle_core.py precisely because concurrent
    fixed-core runs inflated roughly a quarter of rows by about 1.9x. The current
    recipe must use the verified-idle-core invocation from SPEC/benchmarking.md.

The SVGs are not stale. CI selected the 2026-08-03 Hex record and reported all
25 figures current. This is a documentation consistency repair, not permission
to rerun external systems or alter measurements.

Work

  • Replace the timeout paragraph with the exact 15 names from the selected
    current Hex record, omitting cyclo_phi1031.

  • Replace the fixed-CPU sweep recipe with:

    taskset -c "$(python3 scripts/bench/idle_core.py)" \
      python3 scripts/bench/factor_sweep.py ...
  • Audit the two current performance reports for other statements mechanically
    contradicted by their selected record, especially solved counts, source
    revision, crossover ranks, and artifact names. Preserve historical snapshot
    reports that explicitly say they stay at an older revision.

  • Run the report/measurement freshness and figure --check commands. Do not
    regenerate figures unless the checker demonstrates a real difference.

Acceptance criteria

  • The prose says 377 solved / 15 timed out and lists exactly the current timeout
    rows.
  • No current regeneration recipe pins measurements to CPU 0; historical prose
    may accurately state that an old run used it.
  • scripts/bench/check_factor_sweep_freshness.py and
    scripts/plots/hexbz-cactus.py --check pass without changing the selected
    measurement provenance.
  • No benchmark data or generated figure changes unless required by a failing
    deterministic check.

Dependencies

None. Independent documentation repair. It should land before the next
performance implementation so new reports copy the correct recipe.

Metadata

Metadata

Assignees

No one assigned

    Labels

    directivepod coordinationdocumentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions