core/state: optimize Logs by using index sort

This commit is contained in:
cuiweixie 2026-01-05 19:58:14 +08:00
parent de5ea2ffd8
commit 0c8bf82527

View file

@ -22,7 +22,6 @@ import (
"fmt"
"maps"
"slices"
"sort"
"sync"
"sync/atomic"
"time"
@ -263,13 +262,12 @@ func (s *StateDB) GetLogs(hash common.Hash, blockNumber uint64, blockHash common
}
func (s *StateDB) Logs() []*types.Log {
logs := make([]*types.Log, 0, s.logSize)
logs := make([]*types.Log, s.logSize)
for _, lgs := range s.logs {
logs = append(logs, lgs...)
for _, l := range lgs {
logs[l.Index] = l
}
}
sort.Slice(logs, func(i, j int) bool {
return logs[i].Index < logs[j].Index
})
return logs
}