Zebra/zebra-chain/src
teor 6ad445eb97
1. fix(perf): Run CPU-intensive state updates in parallel rayon threads (#4802)
* Split disk reads from CPU-heavy Sprout interstitial tree cryptography

* Improve anchor validation debugging and error messages

* Work around a test data bug, and save some CPU

* Remove redundant checks for empty shielded data

* Skip generating unused interstitial treestates

* Do disk fetches and quick checks, then CPU-heavy cryptography

* Wrap HistoryTree in an Arc in the state

* Run CPU-intensive chain validation and updates in parallel rayon threads

* Refactor to prepare for parallel tree root calculations

* Run finalized state note commitment tree root updates in parallel rayon threads

* Update finalized state note commitment trees using parallel rayon threads

* Fix a comment typo and add a TODO

* Split sprout treestate fetch into its own function

* Move parallel note commitment trees to zebra-chain

* Re-calculate the tree roots in the same parallel batches

* Do non-finalized note commitment tree updates in parallel threads

* Update comments about note commitment tree rebuilds

* Do post-fork tree updates in parallel threads

* Add a TODO for parallel tree updates in tests

* Fix broken intra-doc links

* Clarify documentation for sprout treestates

* Sort Cargo.toml dependencies
2022-07-22 12:19:11 -04:00
..
amount fix(clippy): resolve or disable new nightly clippy lints (#4739) 2022-07-05 11:04:47 +10:00
block 1. fix(perf): Run CPU-intensive state updates in parallel rayon threads (#4802) 2022-07-22 12:19:11 -04:00
chain_tip feat(rpc): Implement `getblockchaininfo` RPC method (#3891) 2022-03-25 12:25:31 +00:00
fmt add(log): Log the amount of time it takes to rebuild note commitment trees after a chain fork (#4795) 2022-07-22 09:17:34 +10:00
history_tree refactor(anchorSapling): Change type to force consensus rule validation (#3544) 2022-02-17 03:20:22 +00:00
orchard 1. fix(perf): Run CPU-intensive state updates in parallel rayon threads (#4802) 2022-07-22 12:19:11 -04:00
parallel 1. fix(perf): Run CPU-intensive state updates in parallel rayon threads (#4802) 2022-07-22 12:19:11 -04:00
parameters fix(clippy): resolve or disable new nightly clippy lints (#4739) 2022-07-05 11:04:47 +10:00
primitives fix(clippy): resolve or disable new nightly clippy lints (#4739) 2022-07-05 11:04:47 +10:00
sapling 1. fix(perf): Run CPU-intensive state updates in parallel rayon threads (#4802) 2022-07-22 12:19:11 -04:00
serialization lint(clippy): add `unwrap_in_result` lint (#4667) 2022-06-28 06:22:07 +00:00
sprout 1. fix(perf): Run CPU-intensive state updates in parallel rayon threads (#4802) 2022-07-22 12:19:11 -04:00
transaction fix(clippy): resolve or disable new nightly clippy lints (#4739) 2022-07-05 11:04:47 +10:00
transparent fix(doc): Fix various doc warnings, part 3 (#4611) 2022-06-15 03:57:19 +00:00
value_balance Split ValueBalance methods into NegativeAllowed and NonNegative (#2649) 2021-08-20 13:30:38 +00:00
work Only fetch block headers from the database to answer headers requests (#4792) 2022-07-22 09:15:22 +10:00
amount.rs lint(clippy): add `unwrap_in_result` lint (#4667) 2022-06-28 06:22:07 +00:00
block.rs Only fetch block headers from the database to answer headers requests (#4792) 2022-07-22 09:15:22 +10:00
chain_tip.rs feat(rpc): Implement `getblockchaininfo` RPC method (#3891) 2022-03-25 12:25:31 +00:00
fmt.rs add(log): Log the amount of time it takes to rebuild note commitment trees after a chain fork (#4795) 2022-07-22 09:17:34 +10:00
history_tree.rs lint(clippy): add `unwrap_in_result` lint (#4667) 2022-06-28 06:22:07 +00:00
lib.rs 1. fix(perf): Run CPU-intensive state updates in parallel rayon threads (#4802) 2022-07-22 12:19:11 -04:00
orchard.rs ZIP 212: validate Sapling and Orchard output of coinbase transactions (#3029) 2021-11-11 22:18:37 +00:00
parallel.rs 1. fix(perf): Run CPU-intensive state updates in parallel rayon threads (#4802) 2022-07-22 12:19:11 -04:00
parameters.rs Cleanup a few arbitrary impls (#2222) 2021-05-28 09:49:28 -03:00
primitives.rs ZIP 212: validate Sapling and Orchard output of coinbase transactions (#3029) 2021-11-11 22:18:37 +00:00
sapling.rs Update multiple crates to ensure bitvec 0.22.3 is being used (#2351) 2021-06-23 13:16:22 +10:00
serialization.rs Refactor addr v1 serialization using a separate AddrV1 type (#3021) 2021-11-10 06:47:50 +10:00
shutdown.rs Fix shutdown panics (#1637) 2021-02-03 19:03:28 +10:00
sprout.rs 1. fix(perf): Run CPU-intensive state updates in parallel rayon threads (#4802) 2022-07-22 12:19:11 -04:00
transaction.rs lint(clippy): add `unwrap_in_result` lint (#4667) 2022-06-28 06:22:07 +00:00
transparent.rs lint(clippy): add `unwrap_in_result` lint (#4667) 2022-06-28 06:22:07 +00:00
value_balance.rs lint(clippy): add `unwrap_in_result` lint (#4667) 2022-06-28 06:22:07 +00:00
work.rs Replace primitives_types with uint (#2350) 2021-06-18 15:35:05 -03:00