mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-04-13 05:08:35 +00:00
trie: avoid spawning goroutines for empty children (#32220)
This commit is contained in:
parent
e94123acc2
commit
61d7279e1f
1 changed files with 10 additions and 10 deletions
|
|
@ -105,18 +105,18 @@ func (h *hasher) hashFullNodeChildren(n *fullNode) *fullNode {
|
|||
var children [17]node
|
||||
if h.parallel {
|
||||
var wg sync.WaitGroup
|
||||
wg.Add(16)
|
||||
for i := 0; i < 16; i++ {
|
||||
go func(i int) {
|
||||
hasher := newHasher(false)
|
||||
if child := n.Children[i]; child != nil {
|
||||
if child := n.Children[i]; child != nil {
|
||||
wg.Add(1)
|
||||
go func(i int) {
|
||||
hasher := newHasher(false)
|
||||
children[i] = hasher.hash(child, false)
|
||||
} else {
|
||||
children[i] = nilValueNode
|
||||
}
|
||||
returnHasherToPool(hasher)
|
||||
wg.Done()
|
||||
}(i)
|
||||
returnHasherToPool(hasher)
|
||||
wg.Done()
|
||||
}(i)
|
||||
} else {
|
||||
children[i] = nilValueNode
|
||||
}
|
||||
}
|
||||
wg.Wait()
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in a new issue