Idea: Coalesce cache scans for batched source removal
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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).
- Lingua principale
- Rust
- Stelle
- 118
- Fork
- 12
- Merge medio
- 7h 23m
- PR unite (30g)
- 100
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di purefunctor/purescript-iris
-
checking diagnostics
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
purefunctor/purescript-iris#654 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
diagnostics enhancement language-server
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
purefunctor/purescript-iris#648 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
purefunctor/purescript-iris#613 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
purefunctor/purescript-iris#560 ·
I maintainer di solito rispondono entro 1 giorno
-
tooling
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
purefunctor/purescript-iris#507 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di purefunctor/purescript-iris
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
RustCrypto/SSH#596 ·
-
proxy: SQL-over-HTTP turns empty arrays into [""] or [false], or HTTP 500 for int and float arraysAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
neondatabase/neon#12965 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
goauthentik/authentik#26867 ·
I maintainer di solito rispondono entro 1 giorno
-
api bug macos maintainer-needed p2 triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
area::tern difficulty::easy good first issue kind::cleanup triage::ready
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100