Skip to content

Probe P-VIEW-1: saved-view page cost at 1M and 4M rows - #46

Merged
AdaWorldAPI merged 2 commits into
mainfrom
ccr-1d749cc5-q8s5qs
Oct 21, 2026
Merged

AdaWorldAPI merged 2 commits into
mainfrom
ccr-1d749cc5-q8s5qs

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

This PR adds a probe and board entries; no library code changes. It measures what one saved-view page costs without ORDER BY (the D-QRY-3 follow-up from #45).

cargo run --release -p hubspo-query --example probe_view_page [rows] measures 25-record pages through view::page. Each run reports programs run, rows materialised and the median of 5 runs, alongside two references:

  • a full sort at the edge, which materialises and sorts every kept record;
  • one threshold Count over the key lane, the floor for any in-engine ORDER BY.

Offsets are taken from each key's valued count. A nullable key also gets one page entirely inside its null tail, reported on its own row. On ascending-order cases the probe also asserts that the page matches the full sort.

Ranges over three runs; timings on this shared container vary:

rows one scan I32 page (valued) full edge sort code-key page null-tail page
1M 1.16–2.31 ms 79–142 ms 38–66 ms 2.0–3.2 ms 0.36–0.54 ms
4M 5.34–5.85 ms 352–421 ms 196–242 ms 8.9–13.9 ms 1.5–2.3 ms
  • I32 key: 67 programs on every page with valued records. That is 60–100 scans, and 1.6–2.8× the cost of sorting everything at the edge. The probe fails here.
  • Code key: 3 programs. It does materialise the whole boundary code (about 25% of rows with 4 codes).
  • Null-tail page: 2 programs (the valued count and the null rows).
  • All costs grow linearly with row count.

The board records ISS-ORDER-BY-RANK-SELECT and the measurement on the D-QRY-3 row and in LATEST_STATE. The rank-select / ORDER BY request goes to lance-graph on EXO-50 (message 019, corrected by a reply). HubSPO-rs builds nothing in its place.


🤖 Generated with Claude Code

https://claude.ai/code/session_01PPcakjk7ioQsnasmNDtc5z

25-record pages at 1M and 4M rows. An I32 key runs 67 Count programs and
takes about twice as long as sorting every kept record at the edge; a code
key costs about 1.7 scans. The rank-select / ORDER BY ask goes upstream
(ISS-ORDER-BY-RANK-SELECT).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPcakjk7ioQsnasmNDtc5z
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-21T08:09:38.911004Z 0a406a5 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@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: 0a406a5f7c

ℹ️ 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 .claude/board/ISSUES.md Outdated
…d apart

Codex on #46: the nullable amount key's tail offset fell in its null tail,
which runs 2 programs and no bisection, so '67 programs whatever the
offset' did not hold for every printed row. Offsets now come from the
key's valued count, the null-tail page gets its own labelled row, and the
board quotes ranges over three runs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPcakjk7ioQsnasmNDtc5z
@AdaWorldAPI
AdaWorldAPI merged commit 28670bb into main Oct 21, 2026
2 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.

2 participants