gary rong
df6c08a485
core, trie: decode the value for storage dump ( #19943 )
...
* core, trie: decode the value for storage dump
* core/state: address comment
5 years ago
Christian Muehlhaeuser
5183483c53
core/state, p2p/discover, trie, whisper: avoid unnecessary conversions ( #19870 )
...
No need to convert these types.
5 years ago
Guillaume Ballet
dcc4adfcd7
cmd/geth: wrong memory size sanitizing on OpenBSD ( #19793 )
5 years ago
Péter Szilágyi
536b3b416c
cosensus, core, eth, params, trie: fixes + clique history cap
6 years ago
gary rong
80469bea0c
all: integrate the freezer with fast sync
...
* all: freezer style syncing
core, eth, les, light: clean up freezer relative APIs
core, eth, les, trie, ethdb, light: clean a bit
core, eth, les, light: add unit tests
core, light: rewrite setHead function
core, eth: fix downloader unit tests
core: add receipt chain insertion test
core: use constant instead of hardcoding table name
core: fix rollback
core: fix setHead
core/rawdb: remove canonical block first and then iterate side chain
core/rawdb, ethdb: add hasAncient interface
eth/downloader: calculate ancient limit via cht first
core, eth, ethdb: lots of fixes
* eth/downloader: print ancient disable log only for fast sync
6 years ago
Péter Szilágyi
9effd64290
core, eth, trie: bloom filter for trie node dedup during fast sync ( #19489 )
...
* core, eth, trie: bloom filter for trie node dedup during fast sync
* eth/downloader, trie: address review comments
* core, ethdb, trie: restart fast-sync bloom construction now and again
* eth/downloader: initialize fast sync bloom on startup
* eth: reenable eth/62 until we properly remove it
6 years ago
gary rong
14868a37fb
trie: clarify why verifyProof doesn't check hashes ( #19530 )
...
* trie: fix merkle proof
* trie: use hasher instead of allocate keccack256 every time
* trie: add comments
6 years ago
Péter Szilágyi
4a4abc41d4
trie: approximate the wasted cache metaspace closer
6 years ago
Péter Szilágyi
4bf0d11e7c
trie: there's no point in retrieving the metaroot
6 years ago
Martin Holst Swende
59e1953246
core, ethdb, trie: mode dirty data to clean cache on flush ( #19307 )
...
This PR is a more advanced form of the dirty-to-clean cacher (#18995 ),
where we reuse previous database write batches as datasets to uncache,
saving a dirty-trie-iteration and a dirty-trie-rlp-reencoding per block.
6 years ago
Martin Holst Swende
876f357364
trie: disable fnv64a hashing of hashes for bigcache ( #19314 )
...
* trie: disable fnv64a hashing of hashes for bigcache
* trie/database: add very important period
6 years ago
Péter Szilágyi
91eec1251c
cmd, core, eth, trie: get rid of trie cache generations ( #19262 )
...
* cmd, core, eth, trie: get rid of trie cache generations
* core, trie: get rid of remainder of cache gen boilerplate
6 years ago
Péter Szilágyi
8111b9dda5
ethdb, trie: tiny API tidy-up from the database rework pr
6 years ago
Péter Szilágyi
054412e335
all: clean up and proerly abstract database access
6 years ago
Matthew Halpern
514a9472ad
trie: prefer nil slices over zero-length slices ( #19084 )
6 years ago
Martin Holst Swende
4f85c2b88b
trie: fix error in node decoding ( #19111 )
6 years ago
HackyMiner
bb7c786b09
trie: add missing unlock call in error case ( #18985 )
6 years ago
Dave McGregor
33d233d3e1
vendor, crypto, swarm: switch over to upstream sha3 package
6 years ago
Martin Holst Swende
2843001ac2
trie: fix overflow in write cache parent tracking ( #18165 )
...
trie/database: fix overflow in parent tracking
6 years ago
Péter Szilágyi
d136e985e8
trie: go fmt package
6 years ago
Łukasz Kurowski
68be45e5f8
trie: return hasher to pool ( #18116 )
...
* trie: return hasher to pool
* trie: minor code formatting fix
6 years ago
Péter Szilágyi
434dd5bc00
cmd, core, eth, light, trie: add trie read caching layer
6 years ago
Péter Szilágyi
53634f1e04
trie: remove unused originalRoot field ( #17862 )
6 years ago
Wenbiao Zheng
6a33954731
core, eth, trie: use common/prque ( #17508 )
6 years ago
Mymskmkt
70398d300d
trie: fix typo ( #17498 )
6 years ago
Péter Szilágyi
11bbc66082
eth, trie: fix tracer GC which accidentally pruned the metaroot
6 years ago
Mymskmkt
8051a0768a
trie: fix comment typo ( #17350 )
6 years ago
Oleg Kovalov
cf05ef9106
p2p, swarm, trie: avoid copying slices in loops ( #17265 )
6 years ago
Péter Szilágyi
8a9c31a307
trie: handle removing the freshest node too
6 years ago
Péter Szilágyi
319098cc1c
trie: fix a temporary memory leak in the memcache
6 years ago
Péter Szilágyi
d926bf2c7e
trie: cache collapsed tries node, not rlp blobs ( #16876 )
...
The current trie memory database/cache that we do pruning on stores
trie nodes as binary rlp encoded blobs, and also stores the node
relationships/references for GC purposes. However, most of the trie
nodes (everything apart from a value node) is in essence just a
collection of references.
This PR switches out the RLP encoded trie blobs with the
collapsed-but-not-serialized trie nodes. This permits most of the
references to be recovered from within the node data structure,
avoiding the need to track them a second time (expensive memory wise).
7 years ago
Péter Szilágyi
a3267ed929
trie: don't report the root flushlist as an alloc
7 years ago
Sarlor
ea06da0892
trie: avoid unnecessary slicing on shortnode decoding ( #16917 )
...
optimization code
7 years ago
Felix Lange
e8ea5aa0d5
trie: reduce hasher allocations ( #16896 )
...
* trie: reduce hasher allocations
name old time/op new time/op delta
Hash-8 4.05µs ±12% 3.56µs ± 9% -12.13% (p=0.000 n=20+19)
name old alloc/op new alloc/op delta
Hash-8 1.30kB ± 0% 0.66kB ± 0% -49.15% (p=0.000 n=20+20)
name old allocs/op new allocs/op delta
Hash-8 11.0 ± 0% 8.0 ± 0% -27.27% (p=0.000 n=20+20)
* trie: bump initial buffer cap in hasher
7 years ago
Péter Szilágyi
143c4341d8
core, eth, trie: streaming GC for the trie cache ( #16810 )
...
* core, eth, trie: streaming GC for the trie cache
* trie: track memcache statistics
7 years ago
Wenbiao Zheng
38c7eb0f26
trie: rename TrieSync to Sync and improve hexToKeybytes ( #16804 )
...
This removes a golint warning: type name will be used as trie.TrieSync by
other packages, and that stutters; consider calling this Sync.
In hexToKeybytes len(hex) is even and (even+1)/2 == even/2, remove the +1.
7 years ago
Wenbiao Zheng
d6ed2f67a8
eth, node, trie: fix minor typos ( #16802 )
7 years ago
Péter Szilágyi
d31802312a
trie: cleaner logic, one less func call
7 years ago
Péter Szilágyi
c934c06cc1
trie: support proof generation from the iterator
7 years ago
kiel barry
0fe47e98c4
trie: fixes to comply with golint ( #16771 )
7 years ago
gary rong
7beccb29be
all: get rid of error when creating memory database ( #16716 )
...
* all: get rid of error when create mdb
* core: clean up variables definition
* all: inline mdb definition
7 years ago
Eli
4a8d5d2b1e
trie: golint iterator fixes ( #16639 )
7 years ago
xincaosu
cfe8f5fd94
trie: remove unused `buf` parameter ( #16583 )
7 years ago
gary rong
1100e8ba63
eth/downloader: flush state sync data before exit ( #16280 )
7 years ago
Anton Evangelatov
ae9f97221a
metrics: pull library and introduce ResettingTimer and InfluxDB reporter ( #15910 )
...
* go-metrics: fork library and introduce ResettingTimer and InfluxDB reporter.
* vendor: change nonsense/go-metrics to ethersphere/go-metrics
* go-metrics: add tests. move ResettingTimer logic from reporter to type.
* all, metrics: pull in metrics package in go-ethereum
* metrics/test: make sure metrics are enabled for tests
* metrics: apply gosimple rules
* metrics/exp, internal/debug: init expvar endpoint when starting pprof server
* internal/debug: tiny comment formatting fix
7 years ago
Felix Lange
a5c0bbb4f4
all: update license information ( #16089 )
7 years ago
Péter Szilágyi
55599ee95d
core, trie: intermediate mempool between trie and database ( #15857 )
...
This commit reduces database I/O by not writing every state trie to disk.
7 years ago
Péter Szilágyi
216e584899
Revert "trie: make fullnode children hash calculation concurrently ( #15131 )" ( #15889 )
...
This reverts commit 0f7fbb85d6
.
7 years ago
Furkan KAMACI
b8caba9709
various: remove redundant parentheses ( #15793 )
7 years ago
gary rong
0f7fbb85d6
trie: make fullnode children hash calculation concurrently ( #15131 )
...
* trie: make fullnode children hash calculation concurrently
* trie: thread out only on topmost fullnode
* trie: clean up full node children hash calculation
* trie: minor code fixups
7 years ago