Skip to content

Commit

Permalink
Merge of #4933
Browse files Browse the repository at this point in the history
  • Loading branch information
mergify[bot] authored Aug 30, 2022
2 parents c85e482 + 1d87b7d commit 2290bbf
Showing 1 changed file with 6 additions and 15 deletions.
21 changes: 6 additions & 15 deletions zebra-state/src/service/finalized_state/disk_format/block.rs
Original file line number Diff line number Diff line change
Expand Up @@ -231,21 +231,12 @@ impl FromDisk for Transaction {
fn from_bytes(bytes: impl AsRef<[u8]>) -> Self {
let bytes = bytes.as_ref();

let mut tx = None;

// # Performance
//
// Move CPU-intensive deserialization cryptography into the rayon thread pool.
// This avoids blocking the tokio executor.
rayon::in_place_scope_fifo(|scope| {
scope.spawn_fifo(|_scope| {
tx = Some(bytes.as_ref().zcash_deserialize_into().expect(
"deserialization format should match the serialization format used by IntoDisk",
));
});
});

tx.expect("scope has already run")
// TODO: skip cryptography verification during transaction deserialization from storage,
// or do it in a rayon thread (ideally in parallel with other transactions)
bytes
.as_ref()
.zcash_deserialize_into()
.expect("deserialization format should match the serialization format used by IntoDisk")
}
}

Expand Down

0 comments on commit 2290bbf

Please sign in to comment.