compio-rs/compio

perf(executor): `ArrayQueue` is slow

Open

#852 geöffnet am 9. Apr. 2026

Auf GitHub ansehen
 (11 Kommentare) (0 Reaktionen) (1 zugewiesene Person)Rust (120 Forks)github user discovery
help wantedpackage: executorperformance

Repository-Metriken

Stars
 (1.732 Stars)
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