go version:1.13.4 In the source code sync/once.go, the following comments mentioned "hot path":
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
}
My questions are:
What does "hot path" mean here?
Does "It is first in the struct" make a "hot path" access more efficient? Why?