diff options
author | Marcus Müller <mueller@kit.edu> | 2018-02-20 11:22:14 +0100 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2018-02-23 19:06:50 +0100 |
commit | 97f0d1cecf4a8cb82e8e16e4dfcac0589c5b56c7 (patch) | |
tree | e0ad2aba49c4ebcb8a8bbf9f6b65bc8a953c95e0 /gr-blocks/lib/message_strobe_random_impl.cc | |
parent | 2fc414578985b59c5bfbb15103f3c3677a1c6fdc (diff) |
blocks: remove unnecessary call to pmt::intern at runtime
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.
Diffstat (limited to 'gr-blocks/lib/message_strobe_random_impl.cc')
-rw-r--r-- | gr-blocks/lib/message_strobe_random_impl.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gr-blocks/lib/message_strobe_random_impl.cc b/gr-blocks/lib/message_strobe_random_impl.cc index c62aad1c7a..ab9422717c 100644 --- a/gr-blocks/lib/message_strobe_random_impl.cc +++ b/gr-blocks/lib/message_strobe_random_impl.cc @@ -45,6 +45,7 @@ namespace gr { (new message_strobe_random_impl(msg, dist, mean_ms, std_ms)); } + message_strobe_random_impl::message_strobe_random_impl(pmt::pmt_t msg, message_strobe_random_distribution_t dist, float mean_ms, float std_ms) : block("message_strobe_random", io_signature::make(0, 0, 0), @@ -54,13 +55,14 @@ namespace gr { d_std_ms(std_ms), d_dist(dist), d_msg(msg), - d_rng() + d_rng(), + d_port(pmt::mp("strobe")) { // allocate RNGs update_dist(); // set up ports - message_port_register_out(pmt::mp("strobe")); + message_port_register_out(d_port); d_thread = boost::shared_ptr<gr::thread::thread> (new gr::thread::thread(boost::bind(&message_strobe_random_impl::run, this))); @@ -113,7 +115,7 @@ namespace gr { return; } - message_port_pub(pmt::mp("strobe"), d_msg); + message_port_pub(d_port, d_msg); } } |