perf: remove duplicate case-row materialization - #24
Conversation
|
@codex review |
|
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 reader now passes database mappings directly to numeric row canonicalization. SQLite tests cover mixed values, non-ASCII names, empty datasets, and single-copy behavior across descriptor, validation, and export operations. ChangesWide dataset read optimization
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to Wide dataset reads now avoid a redundant intermediate row allocation while preserving normalized read, validation, and export results. No merge-blocking production risk is identified. 🚥 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 |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@coderabbitai review |
|
@codex review |
✅ Action performedReview finished.
|
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Summary
Phase 7a: remove one redundant Python case-row materialization from the existing read/validate/export path.
list[dict]result and every public signature; this removes only the preliminary list of copied dictionaries.RED/GREEN and checks
4981356: three populated public surfaces failed solely because 4 cases created 8 dictionaries; empty variants already created 0.efeda69: production only; tests immutable after RED.@codex reviewwas requested at 5598078269 and retried at 5598267518, but the service returned an account usage-limit message (5598080787) rather than running a review. No Codex result is claimed.Evidence
Immutable base
06b346ae86247fa88d65529398b9c5b0c25d5a10versus headefeda69309dbdb317e8d74334c5b501292eb9635, same Python 3.13.2 / SQLAlchemy 2.0.52 / SQLite 3.47.1 / pandas 3.0.5 / pyspssio 0.5.1.post2.read_wide_datasetvalidateRows, metadata, validation results, SQL ordering, read-only database checksum and decoded SAV output matched exactly; binary64 bits, NULL, empty/UTF-8 strings, labels, missing rules, formats and attributes were checked. No SAV-byte identity claim.
Fixed recursive read fragment allocation measurements (not full-operation claims):
The final public result remains buffered, as do pandas and the writer. No full-streaming or server-driver RSS claim is made. Raw commands, source manifests and limits:
../memory-bounds-evidence.mdand/tmp/phase7a-evidence-20260909, outside the repository.Scope and next
Python import/DataFrame copies, PHP exporter memory, SQLAlchemy unbuffered cursors and full streaming are deferred; they require separate evidence/API decisions. After user merge: continue the remaining approved Phase 7 measurement only if another safe, proven slice exists. Overall phases 0–9 remain unfinished. Do not auto-merge.