Skip to content

Commit 17c0861

Browse files
committed
perf: run ensure accounts concurrently
1 parent 1f0109d commit 17c0861

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

magicblock-account-cloner/src/remote_account_cloner_worker.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use conjunto_transwise::{
99
AccountChainSnapshot, AccountChainSnapshotShared, AccountChainState,
1010
DelegationRecord,
1111
};
12-
use futures_util::stream::{self, StreamExt, TryStreamExt};
12+
use futures_util::stream::{self, FuturesUnordered, StreamExt, TryStreamExt};
1313
use log::*;
1414
use lru::LruCache;
1515
use magicblock_account_dumper::AccountDumper;
@@ -187,16 +187,18 @@ where
187187
&self,
188188
cancellation_token: CancellationToken,
189189
) {
190+
let mut requests = FuturesUnordered::new();
190191
loop {
191192
tokio::select! {
192193
res = self.clone_request_receiver.recv_async() => {
193194
match res {
194-
Ok(req) => self.process_clone_request(req).await,
195+
Ok(req) => requests.push(self.process_clone_request(req)),
195196
Err(err) => {
196197
error!("Failed to receive clone request: {:?}", err);
197198
}
198199
}
199200
}
201+
_ = requests.next(), if !requests.is_empty() => {},
200202
_ = cancellation_token.cancelled() => {
201203
return;
202204
}

0 commit comments

Comments
 (0)