perf(linking): evaluate direct model-column lookup without dropping validation - #335
perf(linking): evaluate direct model-column lookup without dropping validation#335seonghobae wants to merge 2 commits into
Conversation
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
|
@jules continue from exact |
Understood. The I will use |
Current boundary
This Draft evaluates replacing
colnames(data_frame[model_columns])withcolnames(model@Data$data)at two linking call sites. The original O(N) copy/O(1) performance claim is not established by the current evidence, and the rewrite can remove an observable validation side effect.Valid findings
In base R,
data_frame[cols]constructs a selected data-frame/list view and validates that the requested column names exist. It is not evidence by itself that every underlying column vector is deep-copied. More importantly for this code, the protected expression fails immediately when a model column is absent fromnewformXDataK/oldformYDataK; directly readingcolnames(model@Data$data)bypasses that check. The later code then uses those names to subset the form data, so semantic equivalence must be proved rather than assumed.Fleet restored
.jules/bolt.mdbyte-for-byte to protectedmasterin normal descendant3839c9615c3bb43eeb3d97d2f34825de59f73a1c; a local micro-optimization is not repository-wide performance doctrine.RED → GREEN acceptance
test_local()coverage is correctness evidence, not performance evidence;No force push, destructive rebase, gate weakening, or predecessor evidence transfer.