aboutsummaryrefslogtreecommitdiffstats
path: root/trie/sync.go
Commit message (Collapse)AuthorAgeFilesLines
* trie: fix regression that linked all downloaded nodes togetherFelix Lange2016-10-151-0/+2
| | | | | | | The trie sync code links subtries using pointers into node structs. Since commit 40cdcf1183 nodes are no longer copied when unpacking from an interface value, causing all nodes to get linked up as the sync progresses. Fix it by breaking the pointer chain with an explicit copy.
* trie, core/state: improve memory usage and performance (#3135)Felix Lange2016-10-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * trie: store nodes as pointers This avoids memory copies when unwrapping node interface values. name old time/op new time/op delta Get 388ns ± 8% 215ns ± 2% -44.56% (p=0.000 n=15+15) GetDB 363ns ± 3% 202ns ± 2% -44.21% (p=0.000 n=15+15) UpdateBE 1.57µs ± 2% 1.29µs ± 3% -17.80% (p=0.000 n=13+15) UpdateLE 1.92µs ± 2% 1.61µs ± 2% -16.25% (p=0.000 n=14+14) HashBE 2.16µs ± 6% 2.18µs ± 6% ~ (p=0.436 n=15+15) HashLE 7.43µs ± 3% 7.21µs ± 3% -2.96% (p=0.000 n=15+13) * trie: close temporary databases in GetDB benchmark * trie: don't keep []byte from DB load around Nodes decoded from a DB load kept hashes and values as sub-slices of the DB value. This can be a problem because loading from leveldb often returns []byte with a cap that's larger than necessary, increasing memory usage. * trie: unload old cached nodes * trie, core/state: use cache unloading for account trie * trie: use explicit private flags (fixes Go 1.5 reflection issue). * trie: fixup cachegen overflow at request of nick * core/state: rename journal size constant
* Merge pull request #2627 from karalabe/concurrent-head-syncPéter Szilágyi2016-05-311-1/+6
|\ | | | | eth/downloader, trie: pull head state concurrently with chain
| * eth/downloader, trie: pull head state concurrently with chainPéter Szilágyi2016-05-271-1/+6
| |
* | core, core/state, trie: enterprise hand-tuned multi-level cachingPéter Szilágyi2016-05-261-6/+7
|/
* core, eth, trie: fix data races and merge/review issuesPéter Szilágyi2015-10-211-1/+1
|
* eth/downloader: concurrent receipt and state processingPéter Szilágyi2015-10-191-8/+60
|
* core, eth, trie: direct state trie synchronizationPéter Szilágyi2015-10-191-0/+233