compio-rs/compio

perf(executor): `ArrayQueue` is slow

Offen

#852 geöffnet am 09.04.2026

 (11 Kommentare) (0 Reaktionen) (1 zugewiesene Person)Rust (120 Forks)github user discovery
difficulty: hardhelp wantedpackage: executorperformance

Repository-Metriken

Stars
 (1.732 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 2T 3h) (14 gemergte PRs in 30 T)

Beschreibung

ArrayQueue is used each time a task is scheduled:

  • When scheduling locally, ArrayQueue::pop is called repeatedly to piggyback remote schedules
  • When scheduling remotely, ArrayQueue::push is called

And ArrayQueue::pop is EXPENSIVE, really expensive: multiple atomic load and a SeqCst atomic fence when empty.

Contributor Guide