Compare commits

...

77 commits

Author SHA1 Message Date
ac5dfff947 fix docs link in sorted_pairs_to_leaves test 2024-11-15 12:44:33 -07:00
3f52ef32a3 add news item for smt parallel subtree construction 2024-11-15 12:44:19 -07:00
ec2dfdf4b8 smt: add benchmarks for parallel construction 2024-11-15 12:44:19 -07:00
cc144a6ef5 smt: add parallel constructors to Smt and SimpleSmt
What the previous few commits have been leading up to: SparseMerkleTree
now has a function to construct the tree from existing data in parallel.
This is significantly faster than the singlethreaded equivalent.
Benchmarks incoming!
2024-11-15 12:44:19 -07:00
38422f592b smt: add from_raw_parts() to trait interface
This commit adds a new required method to the SparseMerkleTree trait,
to allow generic construction from pre-computed parts.

This will be used to add a generic version of `with_entries()` in a
later commit.
2024-11-15 12:44:19 -07:00
5b9480a9f5 smt: implement test for basic parallelized subtree computation w/ rayon
Building on the previous commit, this commit implements a test proving
that `SparseMerkleTree::build_subtree()` can be composed into itself not
just concurrently, but in parallel, without issue.
2024-11-15 12:44:19 -07:00
475c8264d7 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-15 12:44:19 -07:00
cd1dc7c7c8 smt: test that SparseMerkleTree::build_subtree() is composable 2024-11-15 12:44:19 -07:00
1863dab6d3 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-15 12:44:19 -07:00
16456aa724 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-15 12:44:19 -07:00
8b10465547 smt: add sorted_pairs_to_leaves() and test for it 2024-11-15 12:44:19 -07:00
949030ef5e fix formatting in smt/tests.rs 2024-11-15 12:42:46 -07:00
136e31e6ed add news item for smt parallel subtree construction 2024-11-15 12:42:33 -07:00
d4fb9a9ad8 smt: add benchmarks for parallel construction 2024-11-15 12:42:33 -07:00
761dad8cd7 smt: add parallel constructors to Smt and SimpleSmt
What the previous few commits have been leading up to: SparseMerkleTree
now has a function to construct the tree from existing data in parallel.
This is significantly faster than the singlethreaded equivalent.
Benchmarks incoming!
2024-11-15 12:42:33 -07:00
61a066d8c3 smt: add from_raw_parts() to trait interface
This commit adds a new required method to the SparseMerkleTree trait,
to allow generic construction from pre-computed parts.

This will be used to add a generic version of `with_entries()` in a
later commit.
2024-11-15 12:42:33 -07:00
be7fc4ed55 smt: implement test for basic parallelized subtree computation w/ rayon
Building on the previous commit, this commit implements a test proving
that `SparseMerkleTree::build_subtree()` can be composed into itself not
just concurrently, but in parallel, without issue.
2024-11-15 12:42:33 -07:00
2c04b8bd4c 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-15 12:42:33 -07:00
d4b12167e9 smt: test that SparseMerkleTree::build_subtree() is composable 2024-11-15 12:42:33 -07:00
6941599d54 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-15 12:42:33 -07:00
23066cb238 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-15 12:42:32 -07:00
05237a47d9 smt: add sorted_pairs_to_leaves() and test for it 2024-11-15 12:41:40 -07:00
3e664cbdd2 fix formatting in with_leaves_par() 2024-11-15 12:39:41 -07:00
4cfc8ef02b add news item for smt parallel subtree construction 2024-11-15 12:39:32 -07:00
cb526cd2b1 smt: add benchmarks for parallel construction 2024-11-15 12:39:32 -07:00
65520a5029 smt: add parallel constructors to Smt and SimpleSmt
What the previous few commits have been leading up to: SparseMerkleTree
now has a function to construct the tree from existing data in parallel.
This is significantly faster than the singlethreaded equivalent.
Benchmarks incoming!
2024-11-15 12:39:32 -07:00
a8997c0d85 apply doc(hidden) to build_subtree() 2024-11-15 12:37:22 -07:00
51d012ce6d smt: add from_raw_parts() to trait interface
This commit adds a new required method to the SparseMerkleTree trait,
to allow generic construction from pre-computed parts.

This will be used to add a generic version of `with_entries()` in a
later commit.
2024-11-15 12:37:13 -07:00
a8ab84777c add news item for smt parallel subtree construction 2024-11-15 12:37:13 -07:00
740e6aa2cf smt: implement test for basic parallelized subtree computation w/ rayon
Building on the previous commit, this commit implements a test proving
that `SparseMerkleTree::build_subtree()` can be composed into itself not
just concurrently, but in parallel, without issue.
2024-11-15 12:37:13 -07:00
40ab573fc0 smt: add benchmarks for parallel construction 2024-11-15 12:37:13 -07:00
0af8f2e9c8 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-15 12:37:13 -07:00
af7c4d45c0 smt: add parallel constructors to Smt and SimpleSmt
What the previous few commits have been leading up to: SparseMerkleTree
now has a function to construct the tree from existing data in parallel.
This is significantly faster than the singlethreaded equivalent.
Benchmarks incoming!
2024-11-15 12:37:13 -07:00
aaa17412ed smt: test that SparseMerkleTree::build_subtree() is composable 2024-11-15 12:37:13 -07:00
5eea473118 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-15 12:37:13 -07:00
8c8167fcaf 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-15 12:37:13 -07:00
0dd7e14dfe remove temporary code from pairs_to_leaf() commit 2024-11-15 12:35:17 -07:00
ae772d2af6 smt: add pairs_to_leaf() to trait 2024-11-15 12:35:04 -07:00
6de9c95f4c smt: add sorted_pairs_to_leaves() and test for it 2024-11-15 12:35:04 -07:00
a322a21eaf add news item for smt parallel subtree construction 2024-11-15 12:35:04 -07:00
8fda8ef9d4 smt: add benchmarks for parallel construction 2024-11-15 12:35:04 -07:00
13363307b4 smt: add parallel constructors to Smt and SimpleSmt
What the previous few commits have been leading up to: SparseMerkleTree
now has a function to construct the tree from existing data in parallel.
This is significantly faster than the singlethreaded equivalent.
Benchmarks incoming!
2024-11-15 12:35:04 -07:00
ecd7e18623 smt: add from_raw_parts() to trait interface
This commit adds a new required method to the SparseMerkleTree trait,
to allow generic construction from pre-computed parts.

This will be used to add a generic version of `with_entries()` in a
later commit.
2024-11-15 12:35:04 -07:00
4301bc85a3 smt: implement test for basic parallelized subtree computation w/ rayon
Building on the previous commit, this commit implements a test proving
that `SparseMerkleTree::build_subtree()` can be composed into itself not
just concurrently, but in parallel, without issue.
2024-11-15 12:35:04 -07:00
a16d45d2bc 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-15 12:35:04 -07:00
580dc89cbd smt: test that SparseMerkleTree::build_subtree() is composable 2024-11-15 12:35:04 -07:00
417336aa1f 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-15 12:35:04 -07:00
bddfcdf91f 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-15 12:35:04 -07:00
c8ba31b34c make rayon optional in with_entries_par() commit 2024-11-15 12:31:44 -07:00
006954c1bd add news item for smt parallel subtree construction 2024-11-15 12:31:32 -07:00
3b7ce3d253 smt: add benchmarks for parallel construction 2024-11-15 12:31:32 -07:00
034a2a6603 smt: add parallel constructors to Smt and SimpleSmt
What the previous few commits have been leading up to: SparseMerkleTree
now has a function to construct the tree from existing data in parallel.
This is significantly faster than the singlethreaded equivalent.
Benchmarks incoming!
2024-11-15 12:31:32 -07:00
43ceed9fd4 make rayon optional in benchmark commit for src/main.rs too 2024-11-15 12:29:46 -07:00
68fe7f1ff1 add news item for smt parallel subtree construction 2024-11-15 12:29:39 -07:00
faaa0e8ccf smt: add benchmarks for parallel construction 2024-11-15 12:29:39 -07:00
eec0e680e2 make rayon optional in benchmark commit 2024-11-15 12:28:23 -07:00
74cefa9d19 add news item for smt parallel subtree construction 2024-11-15 12:28:09 -07:00
e524828f53 smt: add benchmarks for parallel construction 2024-11-15 12:28:09 -07:00
fd8d588828 make rayon optional in initial rayon commit 2024-11-15 12:27:19 -07:00
7d50b5bc56 smt: add from_raw_parts() to trait interface
This commit adds a new required method to the SparseMerkleTree trait,
to allow generic construction from pre-computed parts.

This will be used to add a generic version of `with_entries()` in a
later commit.
2024-11-15 12:27:02 -07:00
3feaab991e smt: add parallel constructors to Smt and SimpleSmt
What the previous few commits have been leading up to: SparseMerkleTree
now has a function to construct the tree from existing data in parallel.
This is significantly faster than the singlethreaded equivalent.
Benchmarks incoming!
2024-11-15 12:27:02 -07:00
ca7d02b2df add news item for smt parallel subtree construction 2024-11-15 12:27:02 -07:00
ba02e30d48 smt: implement test for basic parallelized subtree computation w/ rayon
Building on the previous commit, this commit implements a test proving
that `SparseMerkleTree::build_subtree()` can be composed into itself not
just concurrently, but in parallel, without issue.
2024-11-15 12:27:02 -07:00
62700a75a4 smt: add benchmarks for parallel construction 2024-11-15 12:27:02 -07:00
6b6686afae move new tests to smt/tests.rs 2024-11-15 12:20:47 -07:00
093f7b6ab7 add news item for smt parallel subtree construction 2024-11-15 12:20:32 -07:00
004d494c7f smt: add benchmarks for parallel construction 2024-11-15 12:20:32 -07:00
1c4fa71f75 smt: add parallel constructors to Smt and SimpleSmt
What the previous few commits have been leading up to: SparseMerkleTree
now has a function to construct the tree from existing data in parallel.
This is significantly faster than the singlethreaded equivalent.
Benchmarks incoming!
2024-11-15 12:20:31 -07:00
47c7999232 smt: add from_raw_parts() to trait interface
This commit adds a new required method to the SparseMerkleTree trait,
to allow generic construction from pre-computed parts.

This will be used to add a generic version of `with_entries()` in a
later commit.
2024-11-15 12:18:55 -07:00
686d344485 smt: implement test for basic parallelized subtree computation w/ rayon
Building on the previous commit, this commit implements a test proving
that `SparseMerkleTree::build_subtree()` can be composed into itself not
just concurrently, but in parallel, without issue.
2024-11-15 12:18:53 -07:00
db7bf26faf 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-15 12:14:34 -07:00
890dbdc54e smt: test that SparseMerkleTree::build_subtree() is composable 2024-11-15 12:09:39 -07:00
fd92777b81 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-15 12:04:23 -07:00
e684d61942 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-15 12:04:22 -07:00
3e5b86f727 smt: add sorted_pairs_to_leaves() and test for it 2024-11-15 12:01:30 -07:00
393e5f4986 add news commit 2024-11-14 19:49:17 -07:00
ebc975f308 add news item for smt parallel subtree construction 2024-11-14 19:48:50 -07:00

2
series

@ -1 +1 @@
Subproject commit 20a23501741fca52e614c2d93f5b9a35088d46b8 Subproject commit 3f52ef32a38b37756a4bfb3b7b528504ee75e155