ラジオの話題16:futexが94%。何の94%?
今日の話題:①割合の分母を探す → ②futexが見えたらmutex競合? → ③goroutineを増やせば速い?。
気になったところから自由に。順番や時間は決めず、話しやすい話題だけ拾って構いません。
1. 割合の分母を探す
Section titled “1. 割合の分母を探す”話を広げるメモ
- CPUを使った時間? 呼び出し開始から終了まで?
- 複数threadの合算は、起動の経過時間と同じ?
小ネタ:straceの集計
-cは原則system CPU時間、-w併用では経過時間の集計。-Tは個別呼び出しの経過時間。版・オプション・出力列を確認し、元ノートの割合をそのまま起動時間の割合と言い換えない。
話の芯:数字を読む前に、何を測ったかを読む。
2. futexが見えたらmutex競合?
Section titled “2. futexが見えたらmutex競合?”話を広げるメモ
- ランタイムの同期にも待ちはある。
- どのlockを、誰が持っている?
小ネタ:futex
ユーザー空間の同期を支えるkernelの待機・起床機能。待機時の値が期待と違えばEAGAINとなり得る。件数だけでアプリ障害や激しい競合を断定できない。
話の芯:待つ仕組みと、待たせた理由を分ける。
3. goroutineを増やせば速い?
Section titled “3. goroutineを増やせば速い?”話を広げるメモ
- goroutine数とOS thread数。
- 並列度を下げると競合と処理能力はどう変わる?
小ネタ:GOMAXPROCS
同時にGoコードを実行できるCPU数を制限する設定で、総OS thread数の上限そのものではない。現行の既定値と当時の版の動作も分けて確認する。
話の芯:並行に存在する数と、並列に実行する数は違う。
最後に一言、話すなら
Section titled “最後に一言、話すなら”「この話を、次に調査や設計をするときどう思い出したいか?」
このメモの材料
Section titled “このメモの材料”既存の調査ケースにある技術補足から構成しました。当時の本人の発言・成果を再現した台本ではありません。思い出せる経験だけを本人の経験として話し、分からない経緯は補わずに使ってください。
定義の詳細・前提・一次資料・対象版・確認日は元の教材を参照してください。今回の作成では新しい実験・学習評価は行っていません。