perf: reuse canonical import rows - #27
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe wide dataset import now reuses ChangesWide import row reuse
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to Wide imports now reuse canonicalized rows to reduce memory use while preserving row values, ordinal behavior, counts, and caller-owned input mappings. No current merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
__case_ordinalprecedence withsetdefault;Scope
One production file and one test file:
src/openstatspec/sql/wide.pytests/test_atomic_import.pyNo API, dependency, configuration, SQL/profile, schema, batch-size, streaming, or cleanup redesign.
Evidence
Disposable baseline/candidate subprocesses used fresh SQLite files and identical dependencies with 50,000 rows, narrow 5-variable and wide 64-variable mixed shapes; one warm-up and five alternating fresh pairs per shape. Input construction was outside the timed call and readback/count checks were outside timing.
51,707,649 → 42,089,738bytes (-18.6%); wide306,092,516 → 227,165,756bytes (-25.8%);229,612 → 212,048KiB (-7.6%); wide802,840 → 717,192KiB (-10.7%);0.778 → 0.772s; wide4.011 → 3.850s; observed ranges overlap and no material regression was observed.Baseline: Python PR #26 merge
127017a1771183553beabdb8fff2a2186a432576; candidate:bfd281b.Verification
118 passed, 8 skipped;411 passed, 9 skipped, 53 deselected;git diff --check;Please do not auto-merge; maintainer review/merge remains required.
Summary by CodeRabbit