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 Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
block_validator_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
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
blockchain.go common/lru: add generic LRU implementation (#26162) 2022-11-14 15:41:56 +01: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_test.go core: fix potential race in chainIndexerTest (#22346) 2021-03-19 13:32:57 +01: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_makers_test.go all: move genesis initialization to blockchain (#25523) 2022-08-30 18:22:28 +02:00
chain_makers.go params: make eip1559 params non-global (#25994) 2022-11-04 16:27:15 +01: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_account.go tests: update for London (#22976) 2021-06-07 14:37:56 +02:00
gen_genesis.go core: change baseFee into baseFeePerGas in genesis json 2021-06-14 14:04:44 +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
genesis.go cmd/utils: enable snapshot generation in import-mode (#25990) 2022-10-19 08:20:39 +02:00
headerchain_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
headerchain.go common/lru: add generic LRU implementation (#26162) 2022-11-14 15:41:56 +01: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_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
state_processor.go core: remove unused bc ChainContext in applyTransaction 2022-08-10 08:02:37 +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