compio-rs/compio

perf(executor): `ArrayQueue` is slow

Open

#852 aberto em 9 de abr. de 2026

Ver no GitHub
 (11 comments) (0 reactions) (1 assignee)Rust (120 forks)github user discovery
help wantedpackage: executorperformance

Métricas do repositório

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