go-ethereum/core
Felix Lange 9afc6816d2
common/lru: add generic LRU implementation (#26162)
It seems there is no fully typed library implementation of an LRU cache.
So I wrote one. Method names are the same as github.com/hashicorp/golang-lru,
and the new type can be used as a drop-in replacement.

Two reasons to do this:

- It's much easier to understand what a cache is for when the types are right there.
- Performance: the new implementation is slightly faster and performs zero memory
   allocations in Add when the cache is at capacity. Overall, memory usage of the cache
   is much reduced because keys are values are no longer wrapped in interface.
2022-11-14 15:41:56 +01:00
..
asm all: change format `0x%x` to `%#x` (#25221) 2022-07-04 11:03:32 +03:00
beacon build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
bloombits all: fix spelling mistakes (#25961) 2022-10-11 09:37:00 +02:00
forkid params: set sepolia mergeNetsplitBlock to 1735371 (#25372) 2022-07-23 09:54:11 +02:00
rawdb core/rawdb: refactor db inspector for extending multiple ancient store (#25896) 2022-10-28 10:23:49 +02:00
state common/lru: add generic LRU implementation (#26162) 2022-11-14 15:41:56 +01:00
txpool core, eth: for types with accurate size calcs, return uint64, not float (#26046) 2022-10-26 15:23:07 +03:00
types core, eth: for types with accurate size calcs, return uint64, not float (#26046) 2022-10-26 15:23:07 +03:00
vm core/vm: deepcopy jumptable when enabling extra eips (#26137) 2022-11-09 07:52:13 +01:00
.gitignore
bench_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
block_validator.go cmd, core, eth, miner: deprecate miner.gastarget flag (#23213) 2021-08-10 11:28:33 +03:00
block_validator_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
blockchain.go common/lru: add generic LRU implementation (#26162) 2022-11-14 15:41:56 +01:00
blockchain_insert.go core: fix log order in "Imported new chain segment" (#25768) 2022-09-15 13:18:23 +02:00
blockchain_reader.go common/lru: add generic LRU implementation (#26162) 2022-11-14 15:41:56 +01:00
blockchain_repair_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
blockchain_sethead_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
blockchain_snapshot_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
blockchain_test.go core/rawdb: refactor db inspector for extending multiple ancient store (#25896) 2022-10-28 10:23:49 +02:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
bloom_indexer.go core: preallocate batch size in bloomIndexer (#25289) 2022-08-03 17:02:09 +02:00
chain_indexer.go all: make logs a bit easier on the eye to digest (#22665) 2021-04-15 20:35:00 +03:00
chain_indexer_test.go core: fix potential race in chainIndexerTest (#22346) 2021-03-19 13:32:57 +01:00
chain_makers.go params: make eip1559 params non-global (#25994) 2022-11-04 16:27:15 +01:00
chain_makers_test.go all: move genesis initialization to blockchain (#25523) 2022-08-30 18:22:28 +02:00
dao_test.go core, ethclient/gethclient: improve flaky tests (#25918) 2022-10-06 13:39:20 +02:00
error.go all: remove duplicate word in comments (#25618) 2022-08-29 11:16:34 +03: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: fix error in comment (#25040) 2022-06-08 18:40:37 +02:00
forkchoice.go all: core rework for the merge transition (#23761) 2021-11-26 13:23:02 +02:00
gaspool.go miner: avoid unnecessary work (#15883) 2018-01-15 12:57:06 +02:00
gen_genesis.go core: change baseFee into baseFeePerGas in genesis json 2021-06-14 14:04:44 +02:00
gen_genesis_account.go tests: update for London (#22976) 2021-06-07 14:37:56 +02:00
genesis.go cmd/utils: enable snapshot generation in import-mode (#25990) 2022-10-19 08:20:39 +02:00
genesis_alloc.go core/genesis: remove calaverasAllocData (#25516) 2022-08-12 13:58:06 +02:00
genesis_test.go all: move genesis initialization to blockchain (#25523) 2022-08-30 18:22:28 +02:00
headerchain.go common/lru: add generic LRU implementation (#26162) 2022-11-14 15:41:56 +01:00
headerchain_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
mkalloc.go build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +02:00
rlp_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
sender_cacher.go all: refactor txpool into it's own package in prep for 4844 2022-10-24 16:35:53 +03:00
state_prefetcher.go all: removed blockhash from statedb (#23126) 2021-06-30 15:17:01 +02:00
state_processor.go core: remove unused bc ChainContext in applyTransaction 2022-08-10 08:02:37 +02:00
state_processor_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
state_transition.go core: fix linter complaint (#25927) 2022-10-04 18:09:05 +02:00
types.go core: prefetch next block state concurrently 2019-04-01 11:06:15 +03:00