mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-26 07:24:46 +00:00
Before, every creation of `AnchorSeekTarget` called `MultiBufferSnapshot::buffer_for_path`, which seeks the excerpts sum tree. Now we avoid that by - looking up the buffer snapshot for the anchor's buffer in the `buffers` map (keyed by `BufferId`) - handling the case where the anchor's buffer doesn't exist at the original path key with a separate `AnchorSeekTarget::Missing` variant We also added a separate optimization to `AnchorSeekTarget::cmp`, to skip the full `PathKey` comparison when the cursor's `PathKeyIndex` is the same as the anchor's. This should help with singleton multibuffers. Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| LICENSE-GPL | ||