Repository navigation
artifacts: draw the figures at print size and narrow the ladder table - #22
Conversation
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.
There was a problem hiding this comment.
🔵 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_INwithPRINT_SIZE/STIX text andlayout='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.texand 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.

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
be1c396onrebuttal). This PR brings the generators behind them in line.plot_figures.pydraws 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.gen_ladder_table.pydrops 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.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 checkpasses on both scripts.