Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Suggestion]: idle live roots wake every 25 ms; notify-debouncer-full fixed this on main (notify #933)

Aperta
#970 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 3 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
performance

Direzione di ricerca

Start with crates/fff-core/src/watcher/background_watcher.rs at the debounce timeout setup, then inspect the vendored fff-notify-debouncer-full loop described in the issue. Compare notify-rs PR #933 with the current fork and decide whether to port only that change or track upstream main; the thread asks maintainers to agree on the approach. Done means idle roots stop polling while debounce timing stays unchanged, with a test counting idle loop iterations.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

triaged

I am a user of fff-search. I measured idle watcher cost on macOS with fff-search 0.11.0 (mode: Ai, watch: true, off-screen probe): each idle live root uses about 0.45 ms CPU/s and about 33 interrupt wakeups/s; three roots about 100 wakeups/s; no root 0.

The cause is the debouncer thread: fff-notify-debouncer-full 0.9.4 runs loop { thread::sleep(tick); debounced_events() } (src/lib.rs:765 of that crate), with tick = DEBOUNCE_TIMEOUT / 2 = 25 ms (crates/fff-core/src/watcher/background_watcher.rs:195-197). It never waits for events, so an idle root wakes about 40 times a second.

Upstream already has the fix: notify-rs PR #933 (merged 2026-06-01, https://github.com/notify-rs/notify/pull/933) adds a Condvar so the loop sleeps until events are queued, then keeps the same tick until they expire. Debounce timing is unchanged. It is not in a crates.io release yet, and fff-notify-debouncer-full 0.9.4 predates it.

Proposal: bring that change into fff-notify-debouncer-full, with a test that counts idle loop iterations. No public API change. I can open the PR only after you agree on the approach. Should the fork track notify-debouncer-full main, or take only #933?

Lingua principale
Rust
Stelle
11.2k
Fork
473
Merge medio
2g 7h
PR unite (30g)
32

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di dmtrKovalenko/fff

Tutte le issue di dmtrKovalenko/fff

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.