go-ethereum/rlp
Marius van der Wijden 8dfd66f701
rlp: avoid list header allocation in encoder (#21274)
List headers made up 11% of all allocations during sync. This change
removes most of those allocations by keeping the list header values
cached in the encoder buffer instead. Since encoder buffers are pooled,
list headers are no longer allocated in the common case where an
encoder buffer is available for reuse.

Co-authored-by: Felix Lange <fjl@twurst.com>
2020-07-01 13:49:19 +02:00
..
decode_tail_test.go all: update license information 2016-04-15 09:48:05 +02:00
decode_test.go rlp: fix staticcheck warnings (#20368) 2019-11-25 14:41:53 +02:00
decode.go rlp: fix staticcheck warnings (#20368) 2019-11-25 14:41:53 +02:00
doc.go rlp: improve nil pointer handling (#20064) 2019-09-13 11:10:57 +02:00
encode_test.go rlp: improve nil pointer handling (#20064) 2019-09-13 11:10:57 +02:00
encode.go rlp: avoid list header allocation in encoder (#21274) 2020-07-01 13:49:19 +02:00
encoder_example_test.go rlp: improve nil pointer handling (#20064) 2019-09-13 11:10:57 +02:00
iterator_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
iterator.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
raw_test.go rlp: fix string size check in readKind (#15625) 2017-12-11 22:47:10 +01:00
raw.go rlp: fix string size check in readKind (#15625) 2017-12-11 22:47:10 +01:00
typecache.go rlp: improve nil pointer handling (#20064) 2019-09-13 11:10:57 +02:00