compio-rs/compio

perf(executor): `ArrayQueue` is slow

オープン

#852 opened on 2026/04/09

 (11 件のコメント) (0 件のリアクション) (1 人の担当者)Rust (120 件のフォーク)github user discovery
difficulty: hardhelp wantedpackage: executorperformance

Repository metrics

Stars
 (1,732 個のスター)
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.

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