Commit graph

821 commits

Author SHA1 Message Date
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