Add benches, examples for cached hashing.

Ignore flamegraph files
This commit is contained in:
Paul Hauner
2019-04-28 11:38:32 +10:00
parent 4dd1239b24
commit a4559e798d
5 changed files with 115 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
use cached_tree_hash::TreeHashCache;
use ethereum_types::H256 as Hash256;
fn run(vec: &Vec<Hash256>, modified_vec: &Vec<Hash256>) {
let mut cache = TreeHashCache::new(vec, 0).unwrap();
cache.update(modified_vec).unwrap();
}
fn main() {
let n = 2048;
let vec: Vec<Hash256> = (0..n).map(|_| Hash256::random()).collect();
let mut modified_vec = vec.clone();
modified_vec[n - 1] = Hash256::random();
for _ in 0..100 {
run(&vec, &modified_vec);
}
}

View File

@@ -0,0 +1,11 @@
use cached_tree_hash::TreeHashCache;
use ethereum_types::H256 as Hash256;
use tree_hash::TreeHash;
fn main() {
let n = 2048;
let vec: Vec<Hash256> = (0..n).map(|_| Hash256::random()).collect();
vec.tree_hash_root();
}