A tag is a piece of metadata that points to a specific sample in a stream. Tagged streams operate on chunks of samples, using a certain tag to determine the chunk length. Streams are simpler to deal with, unless you need data chunked.
What kind of performance issues are you finding? If you are implementing a block, and do not want tags passed through, `set_tag_propagation_policy(TPP_DONT)`. On Mon, Nov 23, 2020 at 3:55 PM Nicholas Long <[email protected]> wrote: > Hi, So I am not sure exactly how to ask this, but I have a few questions > about tag best practices when creating OOT modules, apologies if this is > answered elsewhere... > > What is the main source of performance issues with tag propagation: Is it > primarily copying overhead? Are there contention issues? or is most of the > overhead in the actual reading/setting of tags? I guess part of my question > is how are tags passed between blocks, I understand the ring buffers, but > tags are still somewhat a mystery to me. > > Are tagged stream blocks better than just a stream with tags? From my > limited ability to parse tagged stream blocks seem to limit the number of > calls to get_tags_in_range, but they still pass on all other tags on the > input buffer to the output buffer regardless. > > Thanks, > Nick >
