bb1424e5c4
add test_singlethreaded_subtree commit
2024-11-14 16:05:05 -07:00
29ee02fa56
smt: test that subtree logic can correctly construct an entire tree
...
This commit ensures that `SparseMerkleTree::build_subtree()` can
correctly compose into building an entire sparse Merkle tree, without
yet getting into potential complications concurrency introduces.
2024-11-14 16:00:58 -07:00
e47f3ab7bc
smt: test that SparseMerkleTree::build_subtree() is composable
2024-11-14 15:59:29 -07:00
7cffe4743d
add test_two_subtrees() commit
2024-11-14 15:38:24 -07:00
df5d7f26d0
smt: test that SparseMerkleTree::build_subtree() is composable
2024-11-14 15:37:37 -07:00
ecd679c647
remove FIXME from single-subtree commit
2024-11-14 15:34:27 -07:00
ae191003a5
merkle: add a benchmark for constructing 256-balanced trees
...
This is intended for comparison with the benchmarks from the previous
commit. This benchmark represents the theoretical perfect-efficiency
performance we could possibly (but impractically) get for computing
depth-8 sparse Merkle subtrees.
2024-11-14 15:34:16 -07:00
1b1c4ccedb
smt: implement single subtree-8 hashing, w/ benchmarks & tests
...
This will be composed into depth-8-subtree-based computation of entire
sparse Merkle trees.
2024-11-14 15:34:16 -07:00
baf1916b6e
add comments/docs to sorted_pairs_to_leaves commit
2024-11-14 15:33:48 -07:00
9cdf160bb0
smt: add sorted_pairs_to_leaves() and test for it
2024-11-14 15:33:08 -07:00
b3260c261e
merkle: add a benchmark for constructing 256-balanced trees
...
This is intended for comparison with the benchmarks from the previous
commit. This benchmark represents the theoretical perfect-efficiency
performance we could possibly (but impractically) get for computing
depth-8 sparse Merkle subtrees.
2024-11-14 15:33:08 -07:00
df37bc7fa1
smt: implement single subtree-8 hashing, w/ benchmarks & tests
...
This will be composed into depth-8-subtree-based computation of entire
sparse Merkle trees.
2024-11-14 15:33:08 -07:00
ecfc89a66c
single-subtree commit: change magic PAIR_COUNT to be COLS_PER_SUBTREE in test
2024-11-14 15:03:20 -07:00
c6034c6565
merkle: add a benchmark for constructing 256-balanced trees
...
This is intended for comparison with the benchmarks from the previous
commit. This benchmark represents the theoretical perfect-efficiency
performance we could possibly (but impractically) get for computing
depth-8 sparse Merkle subtrees.
2024-11-14 15:02:55 -07:00
543436c9d6
smt: implement single subtree-8 hashing, w/ benchmarks & tests
...
This will be composed into depth-8-subtree-based computation of entire
sparse Merkle trees.
2024-11-14 15:02:51 -07:00
d57fc21f5b
add balanced Merkle benchmark
2024-11-14 14:47:15 -07:00
7513cfe040
merkle: add a benchmark for constructing 256-balanced trees
...
This is intended for comparison with the benchmarks from the previous
commit. This benchmark represents the theoretical perfect-efficiency
performance we could possibly (but impractically) get for computing
depth-8 sparse Merkle subtrees.
2024-11-14 14:45:26 -07:00
f6e245d2ad
I forgot to include the benchmark file in the last commit
2024-11-14 14:04:28 -07:00
46857174c6
smt: implement single subtree-8 hashing, w/ benchmarks & tests
...
This will be composed into depth-8-subtree-based computation of entire
sparse Merkle trees.
2024-11-14 14:04:15 -07:00
d825a3f593
add single subtree8 commit
2024-11-14 13:54:58 -07:00
acfb432e90
smt: implement single subtree-8 hashing, w/ benchmarks & tests
...
This will be composed into depth-8-subtree-based computation of entire
sparse Merkle trees.
2024-11-14 13:53:00 -07:00
4f22d3830d
re-init as cleanup
2024-11-13 15:33:12 -07:00
46f951b0f1
smt: add sorted_pairs_to_leaves() and test for it
2024-11-13 15:32:48 -07:00
f5d3dea50d
smt: add pairs_to_leaf() to trait
2024-11-13 15:19:05 -07:00
b585f9cac6
merkle: add parent() helper function on NodeIndex
2024-11-13 15:17:40 -07:00
7e9822d7da
move 'add SubtreeLeavesIter' commit to be yet earlier
2024-11-13 15:15:43 -07:00
8eaff5c30b
add a parallel subtree criterion benchmark
2024-11-13 14:54:26 -07:00
84527a8ad6
smt: add build_subtrees()
to coordinate subtree building
2024-11-13 14:54:26 -07:00
fc68d01d2b
add a parallel construction benchmark to src/main.rs
2024-11-13 14:54:26 -07:00
8fa9ad5b48
improve docs for build_subtree()
2024-11-13 14:54:26 -07:00
76eb7f6d01
smt: add from_raw_parts() to trait interface
2024-11-13 14:54:26 -07:00
59dbc0040e
implement test_multithreaded_subtree
2024-11-13 14:54:26 -07:00
99298a6bb7
convert test_singlethreaded_subtree to use SubtreeLeavesIter
2024-11-13 14:54:26 -07:00
f2e20bc630
smt: make with_entries() a trait method
2024-11-13 14:54:26 -07:00
4fa0a51b19
SubtreeLeaf::from_smt_leaf() was only used in tests
2024-11-13 14:54:26 -07:00
fcd2647e95
cleanup test_singlethreaded_subtrees a bit
2024-11-13 14:54:26 -07:00
6bf895f027
factor out subtree-append logic
2024-11-13 14:54:26 -07:00
632595d23a
rename PrecomputedSubtrees -> PairComputations
2024-11-13 14:54:25 -07:00
028e63f60a
make PrecomputedSubtrees more generic
2024-11-13 14:54:25 -07:00
8bc1ea64d5
working test_singlethreaded_subtrees()
2024-11-13 14:54:25 -07:00
cf1bb681c4
add SubtreeLeavesIter
2024-11-13 14:54:25 -07:00
1d85ee111f
that was a hellish rebase but we seem to now have PairComputations throughout the history
2024-11-13 14:47:46 -07:00
468bd98c12
add a parallel subtree criterion benchmark
2024-11-13 14:47:06 -07:00
e6a6ad3712
smt: add build_subtrees()
to coordinate subtree building
2024-11-13 14:47:06 -07:00
96d42a4a06
add a parallel construction benchmark to src/main.rs
2024-11-13 14:47:06 -07:00
af96aef74f
improve docs for build_subtree()
2024-11-13 14:47:06 -07:00
bfd64810b4
smt: add from_raw_parts() to trait interface
2024-11-13 14:47:06 -07:00
6a0721b57d
implement test_multithreaded_subtree
2024-11-13 14:47:06 -07:00
5de20ade48
convert test_singlethreaded_subtree to use SubtreeLeavesIter
2024-11-13 14:47:05 -07:00
3274990951
smt: make with_entries() a trait method
2024-11-13 14:43:39 -07:00