compio-rs/compio

perf(executor): `ArrayQueue` is slow

Open

#852 aperta il 9 apr 2026

Vedi su GitHub
 (11 commenti) (0 reazioni) (1 assegnatario)Rust (120 fork)github user discovery
help wantedpackage: executorperformance

Metriche repository

Star
 (1732 star)
Metriche merge PR
 (Merge medio 2g 3h) (14 PR mergiate in 30 g)

Descrizione

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.

Guida contributor