Skip to content

Commit d5a8c14

Browse files
authored
parachain-system: Use append for working with UMP signals (#10266)
`append` is faster than decoding the entire collection, appending and encoding it again.
1 parent d59fde5 commit d5a8c14

File tree

1 file changed

+10
-14
lines changed
  • cumulus/pallets/parachain-system/src

1 file changed

+10
-14
lines changed

cumulus/pallets/parachain-system/src/lib.rs

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -365,12 +365,10 @@ pub mod pallet {
365365
if let Some(core_info) =
366366
CumulusDigestItem::find_core_info(&frame_system::Pallet::<T>::digest())
367367
{
368-
PendingUpwardSignals::<T>::mutate(|signals| {
369-
signals.push(
370-
UMPSignal::SelectCore(core_info.selector, core_info.claim_queue_offset)
371-
.encode(),
372-
);
373-
});
368+
PendingUpwardSignals::<T>::append(
369+
UMPSignal::SelectCore(core_info.selector, core_info.claim_queue_offset)
370+
.encode(),
371+
);
374372
}
375373

376374
// Send the pending UMP signals.
@@ -706,9 +704,9 @@ pub mod pallet {
706704
<T::OnSystemEvent as OnSystemEvent>::on_validation_data(&vfp);
707705

708706
if let Some(collator_peer_id) = collator_peer_id {
709-
PendingUpwardSignals::<T>::mutate(|signals| {
710-
signals.push(UMPSignal::ApprovedPeer(collator_peer_id).encode());
711-
});
707+
PendingUpwardSignals::<T>::append(
708+
UMPSignal::ApprovedPeer(collator_peer_id).encode(),
709+
);
712710
}
713711

714712
total_weight.saturating_accrue(Self::enqueue_inbound_downward_messages(
@@ -1533,12 +1531,10 @@ impl<T: Config> Pallet<T> {
15331531

15341532
/// Send the pending ump signals
15351533
fn send_ump_signals() {
1536-
let mut ump_signals = PendingUpwardSignals::<T>::take();
1534+
let ump_signals = PendingUpwardSignals::<T>::take();
15371535
if !ump_signals.is_empty() {
1538-
UpwardMessages::<T>::mutate(|up| {
1539-
up.push(UMP_SEPARATOR);
1540-
up.append(&mut ump_signals);
1541-
});
1536+
UpwardMessages::<T>::append(UMP_SEPARATOR);
1537+
ump_signals.into_iter().for_each(|s| UpwardMessages::<T>::append(s));
15421538
}
15431539
}
15441540

0 commit comments

Comments
 (0)