Skip to content

perf(runtime): bound caches, scans, and background work - #564

Open
beruro wants to merge 5 commits into
junyu/async-resource-lifecyclefrom
junyu/runtime-resource-bounds
Open

perf(runtime): bound caches, scans, and background work#564
beruro wants to merge 5 commits into
junyu/async-resource-lifecyclefrom
junyu/runtime-resource-bounds

Conversation

@beruro

@beruro beruro commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Problem

Repo/project/sidebar/benchmark loads can duplicate in-flight work, file-index and project caches lack complete invalidation paths, and hidden browser/webview work can retain CPU or memory beyond its active lifecycle.

Solution

  • Coordinate equivalent loads with retryable single-flight ownership.
  • Bound file-index caching and invalidate it from authoritative git watcher events.
  • Suspend hidden webview/layout work and cap retained browser surfaces.
  • Add explicit purge/invalidation paths for project caches.
  • Validation: 49 focused Vitest tests, TypeScript typecheck, all changed-file ESLint, Rust search tests/rustfmt, and diff check against refactor(async): add scoped resource lifecycle #562.

Potential risks

@beruro
beruro force-pushed the junyu/async-resource-lifecycle branch from 9c4d6e6 to eb16aff Compare July 30, 2026 07:07
@beruro
beruro force-pushed the junyu/runtime-resource-bounds branch from 87c9201 to 7d574a2 Compare July 30, 2026 07:07
@beruro
beruro force-pushed the junyu/async-resource-lifecycle branch from eb16aff to 59189c0 Compare July 30, 2026 07:49
@beruro
beruro force-pushed the junyu/runtime-resource-bounds branch from 7d574a2 to cbb7a55 Compare July 30, 2026 07:49
@beruro
beruro force-pushed the junyu/async-resource-lifecycle branch from 59189c0 to a739c82 Compare July 30, 2026 08:04
@beruro
beruro force-pushed the junyu/runtime-resource-bounds branch from cbb7a55 to 3b7055f Compare July 30, 2026 08:04
@beruro
beruro force-pushed the junyu/async-resource-lifecycle branch from a739c82 to d16c8e5 Compare July 30, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant