Currently our RLP code is a mess. There're the following disparate libraries & approaches:
rlpgen inhereted from geth (see #11116)
low-level functions in rlp
low-level functions in erigon-lib/rlp
unused new RLP package erigon-lib/rlp2
We should simplify and improve this zoo, perhaps also taking silkworm's RLP code into consideration. If we decide to use low-level hand-written code instead of rlpgen, we should measure performance and do that only in case the performance gain is significant enough to justify the pain of hand-written boilerplate.
Currently our RLP code is a mess. There're the following disparate libraries & approaches:
rlp
erigon-lib/rlp
erigon-lib/rlp2
We should simplify and improve this zoo, perhaps also taking silkworm's RLP code into consideration. If we decide to use low-level hand-written code instead of rlpgen, we should measure performance and do that only in case the performance gain is significant enough to justify the pain of hand-written boilerplate.