Christian Muehlhaeuser
5183483c53
core/state, p2p/discover, trie, whisper: avoid unnecessary conversions ( #19870 )
...
No need to convert these types.
2019-07-22 10:30:09 +03:00
Guillaume Ballet
dcc4adfcd7
cmd/geth: wrong memory size sanitizing on OpenBSD ( #19793 )
2019-07-05 13:13:21 +03:00
Péter Szilágyi
536b3b416c
cosensus, core, eth, params, trie: fixes + clique history cap
2019-05-16 10:39:35 +03:00
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
2019-05-16 10:39:32 +03:00
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
2019-05-13 15:28:01 +03:00
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
2019-05-07 15:06:07 +03:00
Péter Szilágyi
4a4abc41d4
trie: approximate the wasted cache metaspace closer
2019-04-12 11:43:16 +03:00
Péter Szilágyi
4bf0d11e7c
trie: there's no point in retrieving the metaroot
2019-04-05 13:09:28 +03:00
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.
2019-03-26 15:48:31 +01:00
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
2019-03-22 17:13:28 +02:00
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
2019-03-14 15:25:12 +02:00
Péter Szilágyi
8111b9dda5
ethdb, trie: tiny API tidy-up from the database rework pr
2019-03-12 12:32:02 +02:00
Péter Szilágyi
054412e335
all: clean up and proerly abstract database access
2019-03-06 13:35:03 +02:00
Matthew Halpern
514a9472ad
trie: prefer nil slices over zero-length slices ( #19084 )
2019-02-19 14:50:11 +01:00
Martin Holst Swende
4f85c2b88b
trie: fix error in node decoding ( #19111 )
2019-02-16 16:16:12 +01:00
HackyMiner
bb7c786b09
trie: add missing unlock call in error case ( #18985 )
2019-02-04 12:42:46 +01:00
Dave McGregor
33d233d3e1
vendor, crypto, swarm: switch over to upstream sha3 package
2019-01-04 09:26:07 +02:00
Martin Holst Swende
2843001ac2
trie: fix overflow in write cache parent tracking ( #18165 )
...
trie/database: fix overflow in parent tracking
2018-11-22 15:14:31 +02:00
Péter Szilágyi
d136e985e8
trie: go fmt package
2018-11-16 16:35:39 +02:00
Łukasz Kurowski
68be45e5f8
trie: return hasher to pool ( #18116 )
...
* trie: return hasher to pool
* trie: minor code formatting fix
2018-11-16 11:50:48 +02:00
Péter Szilágyi
434dd5bc00
cmd, core, eth, light, trie: add trie read caching layer
2018-11-15 12:22:13 +02:00
Péter Szilágyi
53634f1e04
trie: remove unused originalRoot field ( #17862 )
2018-10-08 13:16:16 +02:00
Wenbiao Zheng
6a33954731
core, eth, trie: use common/prque ( #17508 )
2018-09-03 17:33:21 +02:00
Mymskmkt
70398d300d
trie: fix typo ( #17498 )
2018-08-24 21:08:48 +03:00
Péter Szilágyi
11bbc66082
eth, trie: fix tracer GC which accidentally pruned the metaroot
2018-08-09 12:33:30 +03:00
Mymskmkt
8051a0768a
trie: fix comment typo ( #17350 )
2018-08-08 16:08:40 +03:00
Oleg Kovalov
cf05ef9106
p2p, swarm, trie: avoid copying slices in loops ( #17265 )
2018-08-07 13:56:40 +03:00
Péter Szilágyi
8a9c31a307
trie: handle removing the freshest node too
2018-07-30 16:31:17 +03:00
Péter Szilágyi
319098cc1c
trie: fix a temporary memory leak in the memcache
2018-07-02 15:47:33 +03:00
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).
2018-06-21 11:28:05 +02:00
Péter Szilágyi
a3267ed929
trie: don't report the root flushlist as an alloc
2018-06-11 14:32:13 +03:00
Sarlor
ea06da0892
trie: avoid unnecessary slicing on shortnode decoding ( #16917 )
...
optimization code
2018-06-07 11:48:36 +03:00
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
2018-06-05 15:06:29 +03:00
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
2018-06-04 10:47:43 +03:00
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.
2018-05-29 17:48:43 +02:00
Wenbiao Zheng
d6ed2f67a8
eth, node, trie: fix minor typos ( #16802 )
2018-05-24 15:55:20 +03:00
Péter Szilágyi
54294b45b1
Merge pull request #16803 from karalabe/trie-avoid-funccall
...
trie: cleaner logic, one less func call
2018-05-24 15:54:00 +03:00
Péter Szilágyi
d31802312a
trie: cleaner logic, one less func call
2018-05-24 13:46:45 +03:00
Péter Szilágyi
c934c06cc1
trie: support proof generation from the iterator
2018-05-23 13:02:20 +03:00
kiel barry
0fe47e98c4
trie: fixes to comply with golint ( #16771 )
2018-05-21 23:41:31 +03:00
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
2018-05-09 15:24:25 +03:00
Eli
4a8d5d2b1e
trie: golint iterator fixes ( #16639 )
2018-05-02 11:24:34 +03:00
xincaosu
cfe8f5fd94
trie: remove unused buf
parameter ( #16583 )
2018-04-27 12:45:02 +03:00
gary rong
1100e8ba63
eth/downloader: flush state sync data before exit ( #16280 )
2018-04-09 14:46:27 +02:00
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
2018-02-23 11:56:08 +02:00
Felix Lange
a5c0bbb4f4
all: update license information ( #16089 )
2018-02-14 13:49:11 +01:00
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.
2018-02-05 17:40:32 +01:00
Péter Szilágyi
216e584899
Revert "trie: make fullnode children hash calculation concurrently ( #15131 )" ( #15889 )
...
This reverts commit 0f7fbb85d6e939510a3e3bb6493a9a332ddfd8e8.
2018-01-15 15:32:14 +02:00
Furkan KAMACI
b8caba9709
various: remove redundant parentheses ( #15793 )
2018-01-03 14:14:47 +02:00
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
2017-11-27 13:34:17 +02:00