Friday, February 25, 2022

Re: Add tags without copying samples?

Hi Thomas,

sadly, within the GNU Radio 3.x framework, this isn't possible.

There's one possible "lower effort" solution. Assume you have this


Source -> A -> B -> Sink

where A is the block that currently needs to copy items just to add tags.

We can now do

Source ------> B -> Sink
\-> A -/^

where B is doing some functionality that you needed anyway. Now, B just gets a second
input, that it completely ignores – except for the tags.

A gets modified in that it doesn't copy the input, but simply says "hey, I produced
items", without actually producing items; B would ignore them anyways. A, however, adds
the tags.

Not quite sure this helps you much...

Best regards,
Marcus

On 25.02.22 17:36, Thomas Lorblanchès wrote:
> Hi all,
> I have some custom blocks that do not change the samples but only add tags in the output
> stream.
> At very high sampling rates, all these "memcpy" operations to copy the input samples to
> the output stream take a lot of time and put a lot of memory pressure on the system, and
> are completly useless on an algorithmic point of view.
> Is there a clever way to add tags without copying the samples?
> Thanks for your answers.
> Thomas

No comments:

Post a Comment