compio-rs/compio

perf(executor): `ArrayQueue` is slow

Aberta

#852 aberto em 9 de abr. de 2026

 (11 comentários) (0 reação) (1 responsável)Rust (120 forks)github user discovery
difficulty: hardhelp wantedpackage: executorperformance

Métricas do repositório

Stars
 (1.732 estrelas)
Métricas de merge de PR
 (Mesclagem média 2d 3h) (14 fundiu PRs em 30d)

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.

Guia do colaborador