Switch to shiny new fast, RLP-less trie (#795)

* Bump codec

* Fix tests

* Patricia trie builds

* Introduce trie

* Some yak shaving.

* Some fixes

* Remove RLP ref

* Fixes

* It builds!

* Some tests fixed

* Another test fix

* Rejig more hashes

* substrate-trie::iterator_works test

* Update lock

* Polish

* Docs

* Undo incorrect "fix" for tests

* Fix nits
This commit is contained in:
Gav Wood
2018-09-25 15:32:22 +01:00
committed by Arkadiy Paronyan
parent b02c274374
commit 82d6ca3484
90 changed files with 1977 additions and 1129 deletions
+39
View File
@@ -0,0 +1,39 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Substrate.
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
#[macro_use]
extern crate criterion;
use criterion::Criterion;
criterion_group!(benches, benchmark);
criterion_main!(benches);
extern crate substrate_primitives;
extern crate keccak_hasher;
extern crate substrate_trie;
extern crate trie_bench;
fn benchmark(c: &mut Criterion) {
trie_bench::standard_benchmark::<
substrate_primitives::Blake2Hasher,
substrate_trie::NodeCodec<substrate_primitives::Blake2Hasher>,
substrate_trie::TrieStream,
>(c, "substrate-blake2");
trie_bench::standard_benchmark::<
keccak_hasher::KeccakHasher,
substrate_trie::NodeCodec<keccak_hasher::KeccakHasher>,
substrate_trie::TrieStream,
>(c, "substrate-keccak");
}