go-ethereum/core
Martin Holst Swende 175506e7fd
core/types, rlp: optimize derivesha (#21728)
This PR contains a minor optimization in derivesha, by exposing the RLP
int-encoding and making use of it to write integers directly to a
buffer (an RLP integer is known to never require more than 9 bytes
total). rlp.AppendUint64 might be useful in other places too.

The code assumes, just as before, that the hasher (a trie) will copy the
key internally, which it does when doing keybytesToHex(key).

Co-authored-by: Felix Lange <fjl@twurst.com>
2020-11-04 19:29:24 +01:00
..
asm core/asm: allow numbers in labels (#20362) 2019-11-23 12:52:17 +01:00
bloombits core/bloombits: faster generator (#21625) 2020-10-06 16:34:29 +03:00
forkid cmd/devp2p: add eth protocol test suite (#21598) 2020-09-23 15:18:17 +02:00
rawdb core: improve snapshot journal recovery (#21594) 2020-10-29 21:01:58 +02:00
state core/state/snapshot: fix journal recovery from generating old journal (#21775) 2020-11-04 13:41:46 +02:00
types core/types, rlp: optimize derivesha (#21728) 2020-11-04 19:29:24 +01:00
vm all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 (#21509) 2020-10-23 08:26:57 +02:00
.gitignore Renamed `chain` => `core` 2014-12-04 10:28:02 +01:00
bench_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
block_validator.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02:00
block_validator_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
blockchain.go core: improve snapshot journal recovery (#21594) 2020-10-29 21:01:58 +02:00
blockchain_insert.go core: fix blockchain insert report time interval calculation (#21723) 2020-10-21 16:53:30 +02:00
blockchain_repair_test.go core: improve snapshot journal recovery (#21594) 2020-10-29 21:01:58 +02:00
blockchain_sethead_test.go core: improve snapshot journal recovery (#21594) 2020-10-29 21:01:58 +02:00
blockchain_snapshot_test.go core/state/snapshot: fix journal recovery from generating old journal (#21775) 2020-11-04 13:41:46 +02:00
blockchain_test.go core, eth, les, trie: add a prefix to contract code (#21080) 2020-08-21 15:10:40 +03:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
chain_indexer.go all: replace RWMutex with Mutex in places where RLock is not used (#21622) 2020-10-13 10:58:41 +02:00
chain_indexer_test.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
chain_makers.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
chain_makers_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
dao_test.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
error.go all: fix typos in comments (#21118) 2020-05-25 10:21:28 +02:00
events.go eth/filters: remove use of event.TypeMux for pending logs (#20312) 2019-12-10 12:39:14 +01:00
evm.go core/evm: less iteration in blockhash (#20589) 2020-02-04 12:32:31 +02:00
gaspool.go miner: avoid unnecessary work (#15883) 2018-01-15 12:57:06 +02:00
gen_genesis.go all: regenerate codecs with gencodec commit 90983d99de (#15830) 2018-01-08 15:13:22 +02:00
gen_genesis_account.go all: regenerate codecs with gencodec commit 90983d99de (#15830) 2018-01-08 15:13:22 +02:00
genesis.go all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 (#21509) 2020-10-23 08:26:57 +02:00
genesis_alloc.go cmd, core, params: inital support for yolo-v1 testnet (#21154) 2020-06-03 12:05:15 +03:00
genesis_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
headerchain.go core: define and test chain rewind corner cases (#21409) 2020-08-20 13:01:24 +03:00
mkalloc.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00
rlp_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
state_prefetcher.go all: seperate consensus error and evm internal error (#20830) 2020-04-22 11:25:36 +03:00
state_processor.go all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 (#21509) 2020-10-23 08:26:57 +02:00
state_transition.go all: seperate consensus error and evm internal error (#20830) 2020-04-22 11:25:36 +03:00
tx_cacher.go Comment error (#18303) 2018-12-14 11:15:31 +01:00
tx_journal.go core: fix typos in comment (#17531) 2018-08-28 10:04:33 +03:00
tx_list.go core: free pointer from slice after popping element from price heap (#21572) 2020-09-28 14:24:01 +02:00
tx_list_test.go Revert "core, txpool: less allocations when handling transactions (#21232)" 2020-07-09 14:02:03 +02:00
tx_noncer.go core: fix write concurrency in txpool (#19835) 2019-07-17 13:39:41 +03:00
tx_pool.go core: fix txpool off-by-one error (#21683) 2020-10-09 12:23:46 +03:00
tx_pool_test.go core, eth, les, trie: add a prefix to contract code (#21080) 2020-08-21 15:10:40 +03:00
types.go core: prefetch next block state concurrently 2019-04-01 11:06:15 +03:00