Skip to content

feat: add Arrow IPC and refine benchmark summaries - #24

Merged
lwwmanning merged 14 commits into
developfrom
wm/arrow-benchmarks
Aug 26, 2026
Merged

feat: add Arrow IPC and refine benchmark summaries#24
lwwmanning merged 14 commits into
developfrom
wm/arrow-benchmarks

Conversation

@lwwmanning

@lwwmanning lwwmanning commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Add arrow-ipc to Compression Size and Random Access. Use decoded in-memory Arrow bytes for logical write and scan throughput, plus compression ratios.

Compression Size shows Arrow-relative compression and Parquet-zstd-relative minimum, geometric mean, and maximum size ratios. If any Arrow ratio is unavailable, the summary ranks every format by its Parquet-zstd geometric mean.

Random Access now sums chart medians by dataset before ranking. It reports the geometric mean of dataset ratios and the arithmetic mean of dataset timings. Each format uses its latest available run, while incomplete coverage receives the missing-series penalty.

Compression ratios use the latest logical Arrow size per dataset, independent of each format's file commit. The nullable schema field preserves historical rows. JSON field access keeps web deployment compatible before migration 009 runs.

The summary cache key advances for the new payload.

Signed-off-by: Will Manning <will@willmanning.io>
Signed-off-by: Will Manning <will@willmanning.io>
Signed-off-by: Will Manning <will@willmanning.io>

# Conflicts:
#	web/lib/groups.test.ts
#	web/lib/summary.ts
@github-actions

github-actions Bot commented Aug 25, 2026

Copy link
Copy Markdown

Vercel preview for 7203f5ba19d4238d2e4cc17a7f60c0067529b4d2: https://benchmarks-website-fgtj6q6db-vortex-data.vercel.app

Signed-off-by: Will Manning <will@willmanning.io>
Signed-off-by: Will Manning <will@willmanning.io>

# Conflicts:
#	migrations/README.md

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ed30a6997c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread web/lib/summary.ts Outdated
Signed-off-by: Will Manning <will@willmanning.io>
Signed-off-by: Will Manning <will@willmanning.io>

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3ad0796f7c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread web/lib/summary.ts Outdated
Comment thread web/components/SummaryCard.tsx Outdated
Comment thread web/lib/summary.ts Outdated
Signed-off-by: Will Manning <will@willmanning.io>
Signed-off-by: Will Manning <will@willmanning.io>
Signed-off-by: Will Manning <will@willmanning.io>

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8fdd14a795

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread web/lib/summary.ts
Signed-off-by: Will Manning <will@willmanning.io>
Signed-off-by: Will Manning <will@willmanning.io>
@lwwmanning lwwmanning changed the title feat: add Arrow IPC benchmark summaries feat: add Arrow IPC and refine benchmark summaries Aug 26, 2026
Signed-off-by: Will Manning <will@willmanning.io>
Signed-off-by: Will Manning <will@willmanning.io>

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 08c2924ebe

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread web/lib/summary.ts
Comment on lines +386 to +387
if (group.charts.size === chartsByDataset.get(dataset)?.size) {
grouped.push({ series, bucket: dataset, value: group.value });

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve datasets with no complete format

When a dataset's charts are split across formats so that no single format covers every chart, this condition emits no sample for that dataset. Since rankSeries derives its bucket universe only from emitted samples, the dataset disappears from total, receives no missing-dataset penalty, and—if it is the only dataset—the entire summary returns null despite having measurements. The new knownSeries fallback preserves format identities but not this dataset universe; pass the known datasets into the ranking model so incomplete datasets still affect coverage and scoring.

AGENTS.md reference: AGENTS.md:L64-L66

Useful? React with 👍 / 👎.

@connortsui20 connortsui20 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

seems fine to me, we can test in prod

@lwwmanning
lwwmanning merged commit b0cba5b into develop Aug 26, 2026
4 checks passed
@lwwmanning
lwwmanning deleted the wm/arrow-benchmarks branch August 26, 2026 20:38
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