AtomicLongArray.LazySet — Spurious Full Fence
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 55/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- csharp
- 領域
- backend, performance
調査の方向性
Start with Utilities/AtomicLongArray.cs and inspect LazySet and its use from ClearCounts. Replace the full-fence approach with the shown Volatile.Write form, then run the repository's existing test suite; done means the implementation no longer calls Interlocked.MemoryBarrier while the tests pass.
索引モデルが issue の本文から書いたものです。
説明
File: Utilities/AtomicLongArray.cs
The LazySet implementation (used in ClearCounts) does a plain write then calls Interlocked.MemoryBarrier() — which emits a full fence, defeating the purpose of a lazy/relaxed write. The comment in the code even acknowledges uncertainty about this. On modern x86 this is largely harmless due to TSO, but on ARM64 (e.g. AWS Graviton, Apple Silicon) a full fence is expensive and wrong for this use case. The correct modern equivalent is:
Volatile.Write(ref _counts[index], value);
Volatile.Write emits a store-release fence (half-fence) rather than a full fence, which is precisely what Java's lazySet maps to on ARM64.
- 主要言語
- C#
- スター
- 185
- フォーク
- 31
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
HdrHistogram/HdrHistogram.NET のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
HdrHistogram/HdrHistogram.NET#167 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
HdrHistogram/HdrHistogram.NET#166 ·
-
WriterReaderPhaser.FlipPhase - Task.Yield().GetAwaiter().GetResult() is a Thread Pool Anti-Patternオープンagent enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
HdrHistogram/HdrHistogram.NET#144 ·
-
agent enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
HdrHistogram/HdrHistogram.NET#142 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
HdrHistogram/HdrHistogram.NET#156 ·
HdrHistogram/HdrHistogram.NET の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
Devolutions/UniGetUI#5541 ·
メンテナーはふだん 1 日以内に返信
-
agentic-workflows Needs: Triage :mag:
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
[誤判定]オープンlinux アプリ: ブラウザー 再現済み 要トリアージ 誤判定
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
yksr-melt/Meltype#853 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
S: Untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Trauma-Station/Trauma-Station#5073 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信