compio-rs/compio

perf(executor): `ArrayQueue` is slow

Open

#852 opened on 2026年4月9日

GitHub で見る
 (11 comments) (0 reactions) (1 assignee)Rust (120 forks)github user discovery
help wantedpackage: executorperformance

Repository metrics

Stars
 (1,732 stars)
PR merge metrics
 (平均マージ 2d 3h) (30d で 14 merged PRs)

説明

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.

コントリビューターガイド