Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Idea: Coalesce cache scans for batched source removal

Open
#620 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
rust
Domain
compilers

Research direction

No source files, tests, or entry points are named. Begin by collecting a real branch-switch or folder-removal trace, then measure time to fresh diagnostics as requested; the work is justified only if it shows a noticeable stall and preserves mixed-event ordering.

Written by the indexing model from the issue text.

Description

ideas

Deferred idea

Removing a source file currently scans module ownership and the derived-query caches to discard affected entries. When one batch removes many warmed sources, those scans run again for every file. Consecutive removal-only events could be coalesced and retired together, so each cache is scanned only once. Any other event would first flush the pending removals, which keeps mixed-event ordering intact.

This is an idea to evaluate later, not a request to land the existing prototype.

Evidence so far

The benchmarks used real sources from the combined core+acme dependency closure: 631 packages and 7,371 sources, with modules checked before removal. The deletion scenarios themselves were constructed. They show the algorithmic cost but don't show a common workflow. For example, removing 100 sources cut the LSP watched-file handler median from 287 ms to 38 ms. Removing a single source doesn't benefit.

Why defer

  • Deletions in a repository are usually sparse. Restarting the language server is a reasonable workaround for an occasional large batch.
  • Branch switching might benefit, but it hasn't been measured. It also produces a mix of events rather than long runs of removals.

Revisit this after a real branch-switch or folder-removal trace shows a noticeable stall. At that point, measure the time to fresh diagnostics rather than claiming full-editor or cold-build gains.

Detailed measurements and prototype patches are in the investigation thread (Amp access required).

Dominant language
Rust
Stars
117
Forks
11
Avg merge
6h 52m
Merged PRs (30d)
119

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from purefunctor/purescript-iris

All issues in purefunctor/purescript-iris

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.