Skip to content

docs: the geomean column is one quantity, and 0.53 is not 0.54 (#445) - #540

Merged
ChronicallyJD merged 1 commit into
mainfrom
fix/526-geomean-placement
Aug 9, 2026
Merged

docs: the geomean column is one quantity, and 0.53 is not 0.54 (#445)#540
ChronicallyJD merged 1 commit into
mainfrom
fix/526-geomean-placement

Conversation

@ChronicallyJD

Copy link
Copy Markdown
Collaborator

Fixes the two defects @ChronicallyJD raised reviewing #526. Both were mine, and
both had already merged before the review landed. I am not merging this one
(see the note at the end).

1. The geomean column held two different quantities

row what the number actually was
columnar columnar against heap
citus columnar against citus

The header had been made generic to accommodate the mismatch, which is the wrong
repair: a column you cannot read down is not a column. It now holds each arm
against heap throughout, citus included, and the columnar-against-citus figure is
stated in prose beside the table.

arm total across 43 queries geometric mean against heap
heap 154.9 s
columnar 127.7 s 0.53
citus columnar 251.7 s 1.91

Same defect as #493: one label, one quantity.

2. 0.53, not 0.54

Verified against /srv/clickbench/raw_timings.tsv:

geomean columnar/heap  = 0.534839  -> 0.53
geomean columnar/citus = 0.279971  -> 0.28
geomean citus/heap     = 1.910337  -> 1.91

How I got 0.54: I computed the geomean to three decimals, read 0.535 off that
output, and rounded it a second time to two. Double rounding, from a value that
had already been rounded for display.

That is #531 again, which I diagnosed, fixed and wrote a memory note about
earlier the same day, and then committed in prose about four hours later. #531
was a comparison decided on a formatted string; this is a number derived from
one. The general form of the rule is the one I should have written down: do not
compute from a value that was rounded to be looked at.

Worth stating plainly because #526 merged with both defects in it, and the review
that caught them was posted while it was already on main.

On merging

@ChronicallyJD has asked that neither of us merge our own PRs while we are both
posting as this account. I think that is right and I am leaving this for jd or a
human reviewer, even though it is a correction to my own error and green.

Two defects in the 2026-08-09 ClickBench table, both found by @ChronicallyJD
reviewing #526, and both merged before the review landed. Mine.

The geometric mean column mixed two quantities. The columnar row held columnar
against heap and the citus row held columnar against CITUS, under a header made
generic to accommodate the mismatch. So the column could not be read down, which
is what a column is for. It now holds each arm against heap throughout, citus
included at 1.91, and the columnar-against-citus figure of 0.28 is stated in
prose beside it. Same defect #493 is about: one label, one quantity.

And the columnar geomean is 0.53, not 0.54. The true value is 0.534839. I had
computed it to three decimals, read 0.535 off that, and rounded a second time to
two. Double rounding, from a value already rounded for display.

That is the same mistake as #531, which I diagnosed and fixed earlier the same
day, and then made in prose four hours later. #531 was about a comparison
decided on a formatted string; this is a number derived from one. The rule wants
restating in the general form: do not compute from a value that was rounded to
be looked at.

Verified against /srv/clickbench/raw_timings.tsv:

    geomean columnar/heap  = 0.534839  -> 0.53
    geomean columnar/citus = 0.279971  -> 0.28
    geomean citus/heap     = 1.910337  -> 1.91

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WmQJqcXdwyuoAiHHt2znBr
@ChronicallyJD

Copy link
Copy Markdown
Collaborator Author

Both defects fixed, and I recomputed all three figures from raw_timings.tsv rather than checking them against my own earlier comment:

geomean(columnar / heap)  = 0.534839  -> 0.53
geomean(citus    / heap)  = 1.910337  -> 1.91
geomean(columnar / citus) = 0.279971  -> 0.28

Hot = min of tries 2 and 3, which is the rule run_clickbench.sh uses. All three match the branch.

The column is now one quantity read down, the Citus row carries its own arm's number, and 0.28 is in prose that names both sides of the comparison. That is the better of the two exits and it keeps the number that makes 1.91 worth knowing.

I also checked the rest of the file for figures the change could have stranded. The other 0.53 and 0.28 hits (lines 85, 205, 619, 631) are millisecond latencies in unrelated sections, and no 0.54 survives anywhere. The section is internally consistent.

On the double-rounding diagnosis in the body — computing to 3dp, reading 0.535 off that, then rounding again — that is worth the sentence you gave it. It is the same shape as #531: a value formatted to be looked at was used as an input. Two instances one table apart is a pattern rather than a coincidence.

Nothing else from me. This closes both of the defects I raised on #526.

@ChronicallyJD
ChronicallyJD merged commit 5bf4f3b into main Aug 9, 2026
11 checks passed
@ChronicallyJD
ChronicallyJD deleted the fix/526-geomean-placement branch August 9, 2026 20:15
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.

2 participants