From a27c3a907a8a32fb2dd353b33a9b68f8cbed7607 Mon Sep 17 00:00:00 2001
From: Dinyar Rabady <dinyar@cern.ch>
Date: Thu, 27 Oct 2022 18:29:44 +0200
Subject: [PATCH] Micro optimisations

---
 src/processor.cc | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/processor.cc b/src/processor.cc
index cc0b510d..f8d05991 100644
--- a/src/processor.cc
+++ b/src/processor.cc
@@ -137,7 +137,7 @@ inline std::pair<uint32_t, bool> StreamProcessor::ProcessOrbitHeader(
 // Goes through orbit worth of data and fills the output memory with the calo
 // data corresponding to the non-empty bunchcrossings, as marked in bx_vect
 StreamProcessor::fillOrbitMetadata StreamProcessor::FillOrbitCalo(
-    std::vector<unsigned int> &bx_vect, char *rd_ptr, char *wr_ptr) {
+    const std::vector<unsigned int> &bx_vect, char *rd_ptr, char *wr_ptr) {
   std::pair<uint32_t, bool> orbit_header = std::pair<uint32_t, bool>{
       ProcessOrbitHeader(rd_ptr)};  //.second is the warning test enable bit
   rd_ptr += 32;                     // +32 to account for orbit header
@@ -153,7 +153,7 @@ StreamProcessor::fillOrbitMetadata StreamProcessor::FillOrbitCalo(
     uint32_t bx = uint32_t{bx_vect[relbx]};
     uint32_t orbit_ = uint32_t{orbit_header.first};
     if (bx > 3554) {
-      orbit_--;
+      --orbit_;
     }  // fix for the fact that bx 3555 - 3564 are from the previous orbit
     uint32_t header =
         uint32_t{orbit_header.second};  // header can be added to later
@@ -250,7 +250,7 @@ uint32_t StreamProcessor::FillBril(char *rd_ptr, char *wr_ptr, char *end_ptr) {
 // Goes through orbit worth of data and fills the output memory with the muons
 // corresponding to the non-empty bunchcrossings, as marked in bx_vect
 StreamProcessor::fillOrbitMetadata StreamProcessor::FillOrbitMuon(
-    std::vector<unsigned int> &bx_vect, char *rd_ptr, char *wr_ptr) {
+    const std::vector<unsigned int> &bx_vect, char *rd_ptr, char *wr_ptr) {
   std::pair<uint32_t, bool> orbit_header = std::pair<uint32_t, bool>{
       ProcessOrbitHeader(rd_ptr)};  //.second is the warning test enable bit
   rd_ptr += 32;                     // +32 to account for orbit header
@@ -269,7 +269,7 @@ StreamProcessor::fillOrbitMetadata StreamProcessor::FillOrbitMuon(
     bool BblocksOn[8];
     uint32_t bx = uint32_t{bx_vect[relbx]};
     if (bx > 3554) {
-      orbit--;
+      --orbit;
     }  // fix for the fact that bx 3555 - 3564 are from the previous orbit
     for (unsigned int i = 0; i < 8; i++) {
       uint32_t bxA = (bl->bx[i] >> shifts::bx) & masks::bx;
@@ -393,10 +393,9 @@ void StreamProcessor::process(Slice &input, Slice &out) {
     return;
   }
   while (endofpacket == false) {
-    std::vector<unsigned int> bx_vect;
     uint32_t orbitCount = 0;
     bool trailerError = false;
-    bx_vect = CountBX(input, rd_ptr, trailerError);
+    std::vector<unsigned int> bx_vect = CountBX(input, rd_ptr, trailerError);
     if (trailerError == true) {
       stats.orbit_trailer_error_count++;
       LOG(WARNING)
-- 
GitLab