From b6350920f4001c6f5d0f36104d74a8e649104b34 Mon Sep 17 00:00:00 2001 From: Gabriel Ferreira Date: Sat, 18 Feb 2023 22:24:44 -0300 Subject: [PATCH] lte: return reference to prevent Dci temporary copy saves 4.7 million allocations (26%) in the lte-cqi-generation test suite --- src/lte/model/lte-control-messages.cc | 4 ++-- src/lte/model/lte-control-messages.h | 4 ++-- src/lte/model/lte-enb-phy.cc | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lte/model/lte-control-messages.cc b/src/lte/model/lte-control-messages.cc index 65f516dcd..3ba810617 100644 --- a/src/lte/model/lte-control-messages.cc +++ b/src/lte/model/lte-control-messages.cc @@ -69,7 +69,7 @@ DlDciLteControlMessage::SetDci(DlDciListElement_s dci) m_dci = dci; } -DlDciListElement_s +const DlDciListElement_s& DlDciLteControlMessage::GetDci() { return m_dci; @@ -92,7 +92,7 @@ UlDciLteControlMessage::SetDci(UlDciListElement_s dci) m_dci = dci; } -UlDciListElement_s +const UlDciListElement_s& UlDciLteControlMessage::GetDci() { return m_dci; diff --git a/src/lte/model/lte-control-messages.h b/src/lte/model/lte-control-messages.h index d2202a9f4..f09470ac9 100644 --- a/src/lte/model/lte-control-messages.h +++ b/src/lte/model/lte-control-messages.h @@ -106,7 +106,7 @@ class DlDciLteControlMessage : public LteControlMessage * \brief Get dic information * \return dci messages */ - DlDciListElement_s GetDci(); + const DlDciListElement_s& GetDci(); private: DlDciListElement_s m_dci; ///< DCI @@ -135,7 +135,7 @@ class UlDciLteControlMessage : public LteControlMessage * \brief Get dic information * \return dci messages */ - UlDciListElement_s GetDci(); + const UlDciListElement_s& GetDci(); private: UlDciListElement_s m_dci; ///< DCI diff --git a/src/lte/model/lte-enb-phy.cc b/src/lte/model/lte-enb-phy.cc index f63a4693e..f25134526 100644 --- a/src/lte/model/lte-enb-phy.cc +++ b/src/lte/model/lte-enb-phy.cc @@ -706,7 +706,7 @@ LteEnbPhy::StartSubFrame() mask = (mask << 1); } // fire trace of DL Tx PHY stats - for (uint8_t i = 0; i < dci->GetDci().m_mcs.size(); i++) + for (std::size_t i = 0; i < dci->GetDci().m_mcs.size(); i++) { PhyTransmissionStatParameters params; params.m_cellId = m_cellId;