erigon-pulse/rlp
Marius van der Wijden 6eaa9d340b 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>
# Conflicts:
#	rlp/encode.go
2020-08-07 11:53:22 +02:00
..
decode_tail_test.go all: update license information 2016-04-15 09:48:05 +02:00
decode_test.go [GC] uint256 rather than big.Int in Transaction (#614) 2020-06-04 08:43:08 +01:00
decode.go [GC] uint256 rather than big.Int in Transaction (#614) 2020-06-04 08:43:08 +01:00
doc.go rlp: improve nil pointer handling (#20064) 2019-09-13 11:10:57 +02:00
encode_test.go [GC] uint256 rather than big.Int in Transaction (#614) 2020-06-04 08:43:08 +01:00
encode.go rlp: avoid list header allocation in encoder (#21274) 2020-08-07 11:53:22 +02:00
encoder_example_test.go rlp: improve nil pointer handling (#20064) 2019-09-13 11:10:57 +02:00
iterator_test.go post-rebase fixups 2020-05-20 15:26:22 +03:00
iterator.go cmd, core, eth: background transaction indexing (#20302) 2020-05-20 15:26:22 +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