Skip to content

artifacts: draw the figures at print size and narrow the ladder table - #22

Merged
toby-bro merged 2 commits into
toby-bro:masterfrom
flaviens:print-size-figures
Oct 26, 2026
Merged

toby-bro merged 2 commits into
toby-bro:masterfrom
flaviens:print-size-figures

Conversation

@flaviens

Copy link
Copy Markdown

Hi! Please find generated PR text below. Thanks!

The camera-ready now prints all five evaluation figures at body-text size and fits Table VIII on the page (microtaint-paper be1c396 on rebuttal). This PR brings the generators behind them in line.

  • plot_figures.py draws each figure at the 3.5 in column width with 10 pt STIX text, which matches the Times body. The paper includes them at natural size, which prints them 1:1. They used to be drawn wider and shrunk, which printed their ticks at about 5 pt.
  • Fig. 3's group labels sit clear of the frame and read "Bit-precise" and "Register-level". Fig. 5's value labels sit a fixed 2 pt above their bars.
  • gen_ladder_table.py drops the CPU column from the LaTeX table, which ran 23.7 pt past the page. CPU time stays within a few percent of wall time on each emulated rung. The Markdown table keeps it.
  • The reference figures and ladder table under reference-runs/ are regenerated with the README's commands. The four paper-corpus figures are now byte-identical to the paper's Figures 2 to 5.

Checks: on the paper-corpus run, the old scripts reproduce the paper's previous figures and table exactly. Each new table row equals its old row minus the CPU cell. ruff check passes on both scripts.

The five evaluation figures are drawn at the paper's column width with
10 pt STIX text, which matches the Times body, and the paper includes
them at natural size. The LaTeX ladder table drops the CPU column, which
nearly duplicated wall time, to fit the page. The reference figures and
ladder table are regenerated with the updated scripts.
Copilot AI balanced review requested due to automatic review settings October 26, 2026 02:10

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Correctness here hinges on regenerated camera-ready figure rendering that cannot be visually verified in this environment, so final human review is warranted.

2 open issues
What changed in this PR

This PR updates the NDSS'27 artifact generators so their output matches the camera-ready paper. plot_figures.py now draws all five evaluation figures at the paper's 3.5 in column width with 10 pt STIX text (included at natural size, so they print 1:1 instead of being drawn wide and shrunk), and gen_ladder_table.py drops the CPU column from the LaTeX overhead ladder (which overran the page) while keeping it in the Markdown version. The regenerated reference run artifacts and READMEs are updated to match.

Changes:

  • Draw every figure at a fixed COLUMN_WIDTH_IN with PRINT_SIZE/STIX text and layout='constrained', replacing the old per-figure shrink-to-fit sizing; fix Fig. 3 group labels and Fig. 5 value-label placement.
  • Remove the CPU column from the LaTeX ladder table (8 columns) while retaining it in Markdown; update caption and docstrings accordingly.
  • Regenerate the reference ladder_table.tex and refresh both READMEs.
File Description
artifacts/​ndss27/​rq2-comparison/​plot_figures.py Draws all figures at print size; introduces COLUMN_WIDTH_IN/PRINT_SIZE/PRINT_RC; leaves old size constants and slot_geometry's factor unused.
artifacts/​ndss27/​rq5-overhead/​gen_ladder_table.py Drops CPU from the LaTeX table (tabular, header, multicolumn, body all reduced to 8 columns); keeps CPU in Markdown.
artifacts/​ndss27/​reference-runs/​run-all-debian12/​20260918-121340/​ladder_table.tex Regenerated reference LaTeX table with the CPU column removed.
artifacts/​ndss27/​reference-runs/​README.md States the four figures are the paper's Figures 2–5.
artifacts/​ndss27/​README.md Documents that only the Markdown ladder includes CPU time.

Notes: the LaTeX/Markdown column counts are internally consistent (8 vs 10 columns), the reference .tex rows equal the old rows minus the CPU cell, the reference .md still carries CPU, and mpl.ticker resolves because matplotlib.pyplot is imported. The findings I filed are confined to leftover dead code (AXIS_LABEL_SIZE/LEGEND_SIZE/VALUE_LABEL_SIZE, slot_geometry's discarded factor) and a stale COLUMN_WIDTH_IN comment.

Review effort: Balanced

The three old per-element font sizes were no longer read, and all five
figures now draw at COLUMN_WIDTH_IN, so slot_geometry's width factor went
unused. The regenerated figures are byte-identical.
@toby-bro
toby-bro merged commit 2932388 into toby-bro:master Oct 26, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants