Skip to content

[perf-S] 降低 Search Everywhere 与 Replace in Project 的热路径开销 #491

Description

@1lck

父任务

#467 macOS 交互帧预算:声明式 UI 热路径与可调节表面

依赖

不变量

Search Everywhere 和 Replace in Project 的输入、打开和关闭只更新搜索表面;不得因为全局查询字符串变化而重算整棵 Workbench,也不得每次显示时冷启动完整搜索模块。

范围

  • 将搜索查询和结果状态收敛到搜索 Feature/局部模型。
  • 复用或预热 Search Everywhere / Replace in Project 的视图和模块生命周期。
  • 保留 180ms 搜索语义、取消旧请求和结果截断行为。
  • 对首次打开、连续输入、热路径重复打开分别测量。

明确不改

  • 不改搜索结果排序协议和 Rust Core 命令名。
  • 不把普通侧栏搜索和全局弹层搜索混成一条状态链。
  • 不将 Settings、Clone、Go to Line 等非目标弹层纳入本 PR。

验收

  • 首次 Shift-Shift 到可输入 <80ms,热路径 <32ms。
  • 连续输入时 Workbench body 评估不随每个字符增长。
  • 旧搜索请求取消后不会覆盖新查询结果。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

macossomething related to macos strongly

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions