From 97f0d1cecf4a8cb82e8e16e4dfcac0589c5b56c7 Mon Sep 17 00:00:00 2001
From: Marcus Müller <mueller@kit.edu>
Date: Tue, 20 Feb 2018 11:22:14 +0100
Subject: blocks: remove unnecessary call to pmt::intern at runtime
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

typical usage:

     message_port_pub(pmt::mp("out_port"), …)

which is bad, as it implies hashing of a string, allocation of memory,
deallocation, finding the hashed string in the table of interned strings
and returning a unique pointer (which for reasons of PMT awesomeness
isn't even unique) to the interned port name.

Replacing all these port name ad hoc ::mp() calls by reusing one,
private, port name member.
---
 gr-blocks/lib/message_strobe_impl.cc | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

(limited to 'gr-blocks/lib/message_strobe_impl.cc')

diff --git a/gr-blocks/lib/message_strobe_impl.cc b/gr-blocks/lib/message_strobe_impl.cc
index 96b079a0ed..059584e636 100644
--- a/gr-blocks/lib/message_strobe_impl.cc
+++ b/gr-blocks/lib/message_strobe_impl.cc
@@ -51,9 +51,10 @@ namespace gr {
               io_signature::make(0, 0, 0)),
         d_finished(false),
         d_period_ms(period_ms),
-        d_msg(msg)
+        d_msg(msg),
+        d_port(pmt::mp("strobe"))
     {
-      message_port_register_out(pmt::mp("strobe"));
+      message_port_register_out(d_port);
 
       message_port_register_in(pmt::mp("set_msg"));
       set_msg_handler(pmt::mp("set_msg"),
@@ -95,7 +96,7 @@ namespace gr {
           return;
         }
 
-        message_port_pub(pmt::mp("strobe"), d_msg);
+        message_port_pub(d_port, d_msg);
       }
     }
 
-- 
cgit v1.2.3