go version:1.13.4ソースコードsync / once.goで、次のコメントは「ホットパス」について言及しています:
type Once struct {
// done indicates whether the action has been performed.
// It is first in the struct because it is used in the hot path.
// The hot path is inlined at every call site.
// Placing done first allows more compact instructions on some architectures (amd64/x86),
// and fewer instructions (to calculate offset) on other architectures.
done uint32
m Mutex
}
私の質問は:
ここで「ホットパス」とはどういう意味ですか?
「構造体の最初」は「ホットパス」アクセスをより効率的にしますか?どうして?
フィールドを最初に配置することが望ましい理由は、最後の文で説明されています。それについて不明な点はありますか?
—
Peter