Commit graph

32 commits

Author SHA1 Message Date
Christopher Franko
efc04c3cbd Merge branch 'rebase-1.5.9' 2017-03-29 19:39:05 -04:00
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
Christopher Franko
85d410d34e move all the deps to the latest repo
This was over looked for so long because it was already taken care of in
the newer branches.
2017-03-20 09:11:55 -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
Renamed from ethtrie/iterator.go (Browse further)