From 7d811afab16307080995812d7e8d507c4105dd4e Mon Sep 17 00:00:00 2001 From: Greg Fitzgerald Date: Fri, 6 Apr 2018 15:21:49 -0600 Subject: [PATCH] Parallelize CPU sig verify --- src/ecdsa.rs | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/ecdsa.rs b/src/ecdsa.rs index 9594d0167..64fc3658d 100644 --- a/src/ecdsa.rs +++ b/src/ecdsa.rs @@ -73,19 +73,17 @@ fn verify_packet(packet: &Packet) -> u8 { #[cfg(not(feature = "cuda"))] pub fn ed25519_verify(batches: &Vec) -> Vec> { - let mut locks = Vec::new(); - let mut rvs = Vec::new(); - for packets in batches { - locks.push(packets.read().unwrap()); - } - - for p in locks { - let mut v = Vec::new(); - v.resize(p.packets.len(), 0); - v = p.packets.par_iter().map(|x| verify_packet(x)).collect(); - rvs.push(v); - } - rvs + batches + .into_par_iter() + .map(|p| { + p.read() + .unwrap() + .packets + .par_iter() + .map(verify_packet) + .collect() + }) + .collect() } #[cfg(feature = "cuda")]