compio-rs/compio

perf(executor): `ArrayQueue` is slow

Open

#852 ouverte le 9 avr. 2026

Voir sur GitHub
 (11 commentaires) (0 réactions) (1 assigné)Rust (120 forks)github user discovery
help wantedpackage: executorperformance

Métriques du dépôt

Stars
 (1 732 stars)
Métriques de merge PR
 (Merge moyen 2j 3h) (14 PRs mergées en 30 j)

Description

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.

Guide contributeur