trie: reduce allocs in insertPreimage (#21261)

This commit is contained in:
Marius van der Wijden 2020-06-24 19:56:27 +00:00 committed by Igor Mandrigin
parent 20de87c1bf
commit 4d3004c152

View File

@ -240,14 +240,15 @@ func (db *Database) InsertBlob(hash common.Hash, blob []byte) {
} }
// insertPreimage writes a new trie node pre-image to the memory database if it's // insertPreimage writes a new trie node pre-image to the memory database if it's
// yet unknown. The method will make a copy of the slice. // yet unknown. The method will NOT make a copy of the slice,
// only use if the preimage will NOT be changed later on.
// //
// Note, this method assumes that the database's lock is held! // Note, this method assumes that the database's lock is held!
func (db *Database) insertPreimage(hash common.Hash, preimage []byte) { func (db *Database) insertPreimage(hash common.Hash, preimage []byte) {
if _, ok := db.preimages[hash]; ok { if _, ok := db.preimages[hash]; ok {
return return
} }
db.preimages[hash] = common.CopyBytes(preimage) db.preimages[hash] = preimage
db.preimagesSize += common.StorageSize(common.HashLength + len(preimage)) db.preimagesSize += common.StorageSize(common.HashLength + len(preimage))
} }