go-ethereum/core
AusIV 3ebfeb09fe
core/rawdb: fix high memory usage in freezer (#21243)
The ancients variable in the freezer is a list of hashes, which
identifies all of the hashes to be frozen. The slice is being allocated
with a capacity of `limit`, which is the number of the last block
this batch will attempt to add to the freezer. That means we are
allocating memory for all of the blocks in the freezer, not just
the ones to be added.

If instead we allocate `limit - f.frozen`, we will only allocate
enough space for the blocks we're about to add to the freezer. On
mainnet this reduces usage by about 320 MB.
2020-06-19 10:51:37 +03:00
..
asm core/asm: allow numbers in labels (#20362) 2019-11-23 12:52:17 +01:00
bloombits core/bloombits, light: fix typos (#17235) 2018-07-24 11:24:27 +03:00
forkid core: fix typo in comments (#21181) 2020-06-08 10:53:56 +03:00
rawdb core/rawdb: fix high memory usage in freezer (#21243) 2020-06-19 10:51:37 +03:00
state core/state: avoid escape analysis fault when accessing cached state 2020-06-08 16:11:37 +03:00
types core/types: remove BlockBy sorting code (#20355) 2019-11-21 16:35:22 +02:00
vm core, eth, internal: include read storage entries in structlog output (#21204) 2020-06-10 11:46:13 +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_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
block_validator.go core: use headers only where blocks are unnecessary 2019-03-13 12:32:47 +02:00
blockchain_insert.go all: simplify timestamps to uint64 (#19372) 2019-04-02 23:28:48 +03:00
blockchain_test.go all: fix typos in comments (#21118) 2020-05-25 10:21:28 +02:00
blockchain.go eth: interrupt chain insertion on shutdown (#21114) 2020-05-26 21:37:37 +02:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
chain_indexer_test.go core: fix chain indexer unit test (#20506) 2020-01-20 10:38:08 +02:00
chain_indexer.go core: add check in AddChildIndexer to avoid double lock (#20982) 2020-04-27 15:16:30 +02:00
chain_makers_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
chain_makers.go core: initial version of state snapshots 2020-02-25 12:51:04 +02:00
dao_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03: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_account.go all: regenerate codecs with gencodec commit 90983d99de (#15830) 2018-01-08 15:13:22 +02:00
gen_genesis.go all: regenerate codecs with gencodec commit 90983d99de (#15830) 2018-01-08 15:13:22 +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
genesis.go cmd, core, params: inital support for yolo-v1 testnet (#21154) 2020-06-03 12:05:15 +03:00
headerchain.go core: mirror full node reorg logic in light client too (#20931) 2020-04-22 11:27:47 +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: seperate consensus error and evm internal error (#20830) 2020-04-22 11:25:36 +03: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_test.go all: switch gas limits from big.Int to uint64 2018-01-03 14:45:35 +02:00
tx_list.go core: count tx size in slots, bump max size ot 4x32KB (#20352) 2020-01-10 11:40:03 +02:00
tx_noncer.go core: fix write concurrency in txpool (#19835) 2019-07-17 13:39:41 +03:00
tx_pool_test.go core: avoid double-lock in tx_pool_test (#20984) 2020-05-06 15:47:59 +02:00
tx_pool.go core: filter out txs with invalid signatures as soon as possible 2020-06-04 10:37:21 +08:00
types.go core: prefetch next block state concurrently 2019-04-01 11:06:15 +03:00