Skip to content

Plan-dumper: Add a timing-jitter diff filter - #162

Merged
vogelsgesang merged 1 commit into
mainfrom
plan-dumper-duckdb-umbra
Aug 24, 2026
Merged

Plan-dumper: Add a timing-jitter diff filter#162
vogelsgesang merged 1 commit into
mainfrom
plan-dumper-duckdb-umbra

Conversation

@vogelsgesang

@vogelsgesang vogelsgesang commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Regenerating touches every file's timing fields (Postgres' "Actual Total Time", DuckDB's "cpu_time", Hyper's "cpu-cycles", ...), which is expected but adds noise on top of the real diff. filter-timing-diff.py undoes all timing-only changes, so after regenerating the plans, git diff shows only real changes.:

plan-dumper/filter-timing-diff.py --revert

A line that changes for any other reason is kept as-is, timing/cycle-count included. It only undoes lines that changed for no other reason.

Regenerating touches every file's timing fields (Postgres' "Actual Total
Time", DuckDB's "cpu_time", Hyper's "cpu-cycles", ...), which is
expected but adds noise on top of the real diff. `filter-timing-diff.py`
strips hunks where every changed line differs only in one of those fields:

    git diff | plan-dumper/filter-timing-diff.py

A line that changes for any other reason is kept as-is, timing/cycle-count
included — it only special-cases lines that changed for no other reason.

`--revert` goes further and `git checkout --`s every file whose diff is
purely timing jitter, so after regenerating the plans, `git diff` shows
only real changes.
@vogelsgesang
vogelsgesang force-pushed the plan-dumper-duckdb-umbra branch from 5ed2240 to a5c63ad Compare August 24, 2026 17:19
@vogelsgesang
vogelsgesang merged commit 4d0395f into main Aug 24, 2026
5 checks passed
@vogelsgesang
vogelsgesang deleted the plan-dumper-duckdb-umbra branch August 24, 2026 17:21
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.

1 participant