Zebra/zebra-consensus/src
teor f81e997090
2. fix(perf): Run CPU-intensive state reads in parallel rayon threads (#4805)
* 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

* Spawn large database reads into blocking tokio threads

* Concurrently read all blocks, headers, and transactions from disk

* Run zebra-state transaction deserialization on a rayon thread
2022-07-22 16:25:32 +00:00
..
block Only fetch block headers from the database to answer headers requests (#4792) 2022-07-22 09:15:22 +10:00
chain 2. fix(perf): Run CPU-intensive state reads in parallel rayon threads (#4805) 2022-07-22 16:25:32 +00:00
checkpoint 2. fix(perf): When writing blocks to disk, don't block other async tasks (#4199) 2022-07-22 09:16:41 +10:00
parameters remove founders reward code (#3430) 2022-01-28 19:14:46 -03:00
primitives feat(verify): Concurrently verify proof and signature batches (#4776) 2022-07-18 08:43:29 +10:00
transaction fix(batch): Improve batch verifier async, correctness, and performance (#4750) 2022-07-18 08:41:18 +10:00
block.rs fix(doc): Fix the syntax of links in comments (#4494) 2022-05-30 20:12:11 +00:00
chain.rs fix(sync): Temporarily set full verification concurrency to 30 blocks (#4726) 2022-07-06 10:13:57 -04:00
checkpoint.rs lint(clippy): add `unwrap_in_result` lint (#4667) 2022-06-28 06:22:07 +00:00
config.rs Enable `checkpoint_sync` by default (#3777) 2022-03-09 01:21:54 +00:00
error.rs refactor: document coinbase rules, refactor to ease understanding (#4056) 2022-04-20 09:31:12 +00:00
lib.rs fix(batch): Improve batch verifier async, correctness, and performance (#4750) 2022-07-18 08:41:18 +10:00
parameters.rs move genesis parameters to zebra-chain (#1151) 2020-10-12 14:08:23 -07:00
primitives.rs fix(batch): Improve batch verifier async, correctness, and performance (#4750) 2022-07-18 08:41:18 +10:00
script.rs refactor: address comments from #3415: Prepare for changes in ZIP-244 (#3446) 2022-02-01 06:24:08 +00:00
transaction.rs fix(batch): Improve batch verifier async, correctness, and performance (#4750) 2022-07-18 08:41:18 +10:00