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/probe_rate_impl.h | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'gr-blocks/lib/probe_rate_impl.h')

diff --git a/gr-blocks/lib/probe_rate_impl.h b/gr-blocks/lib/probe_rate_impl.h
index a1c69ba189..4153b336ae 100644
--- a/gr-blocks/lib/probe_rate_impl.h
+++ b/gr-blocks/lib/probe_rate_impl.h
@@ -38,6 +38,9 @@ namespace gr {
       size_t d_itemsize;
       void setup_rpc();
 
+      const pmt::pmt_t d_port;
+      const pmt::pmt_t d_dict_avg, d_dict_now;
+
     public:
       probe_rate_impl(size_t itemsize, double update_rate_ms, double alpha = 0.0001);
       ~probe_rate_impl();
-- 
cgit v1.2.3