Christopher Franko
a85150f0b4
upstream merge continued
2017-03-26 12:08:39 -04:00
Christopher Franko
5822644626
Merge remote-tracking branch 'refs/remotes/ethereum/master' into rebase-1.5.9
2017-03-26 11:40:56 -04:00
Nick Johnson
555273495b
trie: add difference iterator ( #3637 )
...
This PR implements a differenceIterator, which allows iterating over trie nodes
that exist in one trie but not in another. This is a prerequisite for most GC
strategies, in order to find obsolete nodes.
2017-02-22 23:49:34 +01:00
Christopher Franko
57638f70e6
Merge https://github.com/ethereum/go-ethereum into rebase-1.5.9
2017-02-15 13:21:31 -05:00
Felix Lange
40cdcf1183
trie, core/state: improve memory usage and performance ( #3135 )
...
* 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
2016-10-14 19:04:33 +03:00
Christopher Franko
87ec39aadb
Merge https://github.com/ethereum/go-ethereum into rebase-1.4.16
2016-10-08 09:23:35 -04:00
Felix Lange
ddadf402fc
[release/1.4.14] core, trie: replace state caches with trie journal
...
(cherry picked from commit cd791bd855 )
2016-09-28 13:32:10 +03:00
Felix Lange
cd791bd855
core, trie: replace state caches with trie journal
2016-09-28 11:27:28 +03:00
Christopher Franko
e959453cda
Merge remote-tracking branch 'refs/remotes/ethereum/master' into rebase-1.4.4
2016-06-14 18:14:19 -04:00
Péter Szilágyi
af53767e16
[release/1.4.6] core, core/state, trie: enterprise hand-tuned multi-level caching
...
(cherry picked from commit 748d1c171d )
2016-06-06 16:21:39 +03:00
Péter Szilágyi
748d1c171d
core, core/state, trie: enterprise hand-tuned multi-level caching
2016-05-26 16:33:09 +03:00
Christopher Franko
87272925b9
Merge remote-tracking branch 'ethereum/master' into rebase-1.4.4
2016-05-17 17:41:14 -04:00
Péter Szilágyi
b8d59d9c98
core/state, trie: switch iterator panics to error fields
2016-02-16 12:37:00 +02:00
Péter Szilágyi
151c7bef41
core/state, trie: node iterator reports parent hashes too
2016-02-16 12:21:08 +02:00
Péter Szilágyi
5a057a8ded
core/state, trie: surface iterator entry hashes
2016-02-16 12:21:08 +02:00
Péter Szilágyi
7e29b0b5b4
core/state, trie: add node iterator, test state/trie sync consistency
2016-02-16 12:21:08 +02:00
zsfelfoldi
52904ae32f
trie: added error handling
...
Created alternate versions of Trie and SecureTrie functions that can return a MissingNodeError (used by ODR services)
2015-12-01 01:38:32 +01:00
Christopher Franko
9cdd178759
Merge remote-tracking branch 'refs/remotes/ethereum/master' into rebase-1.3.1
...
Conflicts:
Godeps/Godeps.json
Godeps/_workspace/src/github.com/expanse-project/ethash/ethash_test.go
Makefile
VERSION
cmd/gexp/blocktestcmd.go
cmd/gexp/js.go
cmd/gexp/js_test.go
cmd/gexp/main.go
cmd/utils/cmd.go
cmd/utils/flags.go
common/natspec/natspec.go
common/natspec/natspec_e2e_test.go
common/natspec/natspec_e2e_test.go.orig
common/path.go
common/registrar/registrar.go
core/block_processor.go
core/block_processor_test.go
core/chain_manager.go
core/chain_manager_test.go
core/chain_util_test.go
core/events.go
core/execution.go
core/filter.go
core/state/errors.go
core/state/statedb.go
core/state_transition.go
core/transaction_util.go
core/types/bloom9.go
core/types/common.go
core/types/derive_sha.go
core/types/receipt.go
core/vm/common.go
core/vm/environment.go
core/vm/instructions.go
core/vm/jit.go
core/vm/jit_test.go
core/vm/vm.go
docker/Dockerfile
docker/supervisord.conf
eth/downloader/modes.go
event/filter/eth_filter.go
exp/backend.go
exp/downloader/downloader.go
exp/downloader/downloader_test.go
exp/downloader/peer.go
exp/downloader/queue.go
exp/gasprice.go
exp/handler.go
exp/sync.go
miner/worker.go
rpc/api/admin.go
rpc/api/debug.go
rpc/api/eth.go
rpc/api/eth_args.go
rpc/api/miner.go
rpc/api/personal.go
rpc/comms/ipc.go
rpc/comms/ipc_unix.go
rpc/comms/ipc_windows.go
tests/block_test_util.go
tests/files/BlockchainTests/bcUncleTest.json
trie/cache.go
trie/fullnode.go
trie/hashnode.go
trie/secure_trie.go
trie/shortnode.go
trie/trie.go
trie/trie_test.go
trie/valuenode.go
xeth/xeth.go
2015-11-03 18:25:50 -05:00
Felix Lange
565d9f2306
core, trie: new trie
2015-09-22 22:53:49 +02:00
Christopher Franko
164a9acc5d
updated copyright headers
2015-09-12 18:17:11 -04:00
Christopher Franko
9d6221444c
test change lol
2015-09-01 18:24:03 -04:00
Ethan Buchman
c1d516546d
faster hex-prefix codec and string -> []byte
2015-08-06 03:17:59 -04:00
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a .
2015-07-23 18:35:11 +02:00
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
=
a6fe92194f
Fixed iterator bug which skips the 0x000...000 key
2015-03-05 01:47:49 +00:00
obscuren
99ebb869bf
Fixed iterator
2015-02-07 17:03:22 +01:00
obscuren
db4aaedcbd
Moved ptrie => trie. Removed old trie
2015-01-08 11:47:04 +01:00
obscuren
fed3e6a808
Refactored ethutil.Config.Db out
2015-01-07 13:17:48 +01:00
obscuren
af34749a6b
ethtrie => trie
2014-10-31 14:45:03 +01:00