版本: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
}
我的问题是:
“热路径”在这里是什么意思?
“在结构中首先使用”是否会使“热路径”访问更有效?为什么?
最后一句话解释了为什么最好将字段放在第一位。有什么不清楚的地方吗?
—
彼得