8000 docs(551): measurement, acceptance and docs for the executor removal (#551 PR 3) by adityamukho · Pull Request #727 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content

docs(551): measurement, acceptance and docs for the executor removal (#551 PR 3) - #727

Merged
adityamukho merged 4 commits into
v3from
feat/551-measure-docs
Oct 24, 2026
Merged

adityamukho merged 4 commits into
v3from
feat/551-measure-docs

Conversation

@adityamukho
Copy link
Copy Markdown
Collaborator

Part 3 of 3 for #551 (measurement, acceptance and docs). This PR closes nothing on its own: #551 and #473's checklist are closed and ticked by hand after the merge.

Changes

  • Envelope (examples/perf_envelope.rs):
    • Two new shapes. as_of_ts is the as_of point query with :as-of "<time>". as_of_ts_scan is an :age scan at that time, and its rows are checked.
    • A <scale>-irregular fixture: a LogWriter copy whose tx_ids fall and rise. It has a unit test, which cargo test runs through [[example]] test = true.
  • Acceptance test count_holds_no_rows (ignored; run nightly by smoke, which already runs the file): count over 1M facts finishes under a 4 KiB query_memory_limit.
  • CHANGELOG:
    • The eleven per-PR "… runs on the streaming engine" Internal entries are folded into one Added entry, "Every query runs on a streaming engine".
    • Three new Breaking-changes entries for the answers that changed (spec §4.1, §4.2, and an unknown predicate in a not body now fails with QRY-007 at open).
    • The binary size is taken from CI: 1,286 → 1,153 KiB.
  • ROADMAP: the engine runs every query. :limit (No working result-limiting/pagination mechanism for plain (non-recursive) :find queries #306) is the one enhancement: streaming, pull-based operator pipeline with bounded memory behind the cursor API (follow-up to #432) #473 item left, in v3.next.
  • docs/BENCHMARKS.md:
  • CLAUDE.md and TEST_COVERAGE: test counts updated (1,716 / 1,733).

A/B (base 1096e6a2 with this PR's envelope shapes, against this branch)

Both sides ran in parallel on two sockets of an idle server, swapping sockets for the second round, at 100k, 1m, 1m-irregular and 10m.

Python (minigraf-python v3, built against this branch and against the base): attribute_scan at 1M is 355 → 358 ms at 19 MiB, and count_grouped is 64.9 → 65.2 ms at 18 MiB.

#473 acceptance mapping (plan decision 22)

Testing

On the bench machine: the full suite passes, 1,703 passing / 13 ignored plain and 1,719 / 14 with --features test-hooks. A Codex review of the diff found no issues.

Docs site: project-minigraf/minigraf-docs PR to follow, to merge after this one.

🤖 Generated with Claude Code

https://claude.ai/code/session_0169pNQsLcCEn48te9X9WuZW

adityamukho and others added 4 commits October 24, 2026 07:52
as_of_ts and as_of_ts_scan query :as-of the time of transaction tx_half.
A scale <scale>-irregular measures a LogWriter copy of that fixture whose
neighbouring transactions swap tx_ids, so times fall and rise and :as-of a
time cannot become a counter bound. cargo test runs the example's test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0169pNQsLcCEn48te9X9WuZW
count_holds_no_rows counts 1M facts under a 4 KiB query_memory_limit, so
the meter bounds what an ungrouped count holds at any size.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0169pNQsLcCEn48te9X9WuZW
One Added entry for the streaming engine replaces the per-PR Internal
entries, with three Breaking changes for the answers that changed.
docs/BENCHMARKS.md records the #551 A/B against 1096e6a, the :as-of
time shapes on a rising and an irregular fixture, and the Python round
trip; every shape within 5% of the baseline except the point lookups,
which #721 slowed and #726 restored to within 3%.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0169pNQsLcCEn48te9X9WuZW
@codecov
codecov Bot commented Oct 24, 2026
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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

0