Revert: deserialize stored transactions in a rayon thread (#4933)
* Revert: deserialize stored transactions in a rayon thread * Add a TODO for the reverted bug fix Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
parent
c85e482fa0
commit
c188678169
|
@ -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")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue