Uh oh!
There was an error while loading. Please reload this page.
perf(navigation): skip unused leaf sibling searches - #3845
Conversation
@onmax is attempting to deploy a commit to the Nuxt Team on Vercel. A member of the Team first needs to authorize it. |
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthrough
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk:⚪ Minimal · up to Navigation generation avoids unused root-page sibling searches while preserving index merging, placeholder behavior, and navigation ordering. No current merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 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 |
commit: |
🔗 Linked issue
No linked issue or discussion. Reproduction below.
❓ Type of change
📚 Description
Navigation scanned earlier siblings when adding leaf pages. Skip the unused root lookup and check only newly appended children for placeholders. Once an array contains a placeholder, keep the original lookup and merge behavior.
For 5,000 pages, the pinned fixtures count these
findpredicate calls:/guideIndex merging and caller order stay unchanged. Parent lookups and child arrays that have contained placeholders retain their existing cost.
Navigation generation time for the exact PR base and head, on Node 24.19.0 / Linux / AMD EPYC 7452. Medians of 25 samples after five warmups, alternating before and after. Brackets show the middle 50% of samples.
/guide/guideBoth versions produce equal trees for each input. Timings exclude SQL, input cloning, and setup. This shared machine has variable load; these are local navigation timings, not page-load measurements. Benchmark script, command, and raw samples.
Copy and run both comparisons with Node 24.19.0 and Corepack
📝 Checklist
Documentation: not applicable; public navigation behavior is unchanged.