добавление задержки обработки в блоке в gnuradio - PullRequest
0 голосов
/ 02 июня 2019

Я работаю над блоком с gnuradio.Я столкнулся со странным улучшением производительности, когда распечатывал некоторые огромные данные на терминале, и производительность снижалась, не выдавая оператор печати на терминал.

Я сделал вывод, что при печати на терминал я даю gnuradioзаблокировать дополнительное время обработки для блока для обработки.Это только моя догадка, и может быть не точная причина.Пожалуйста, исправьте, если это не так.

Итак, есть ли способ добавить определенную величину задержки обработки в блоке (как то, что я получил во время распечатки данных на терминал) в gnuradio.

Заранее спасибо

1 Ответ

0 голосов
/ 02 июня 2019

Прежде всего, очевидно: не печатайте большие объемы данных на терминал.Терминалы не предназначены для этого, и ваш процессор довольно быстро станет ограничивающим фактором, поскольку он пытается отобразить весь текст.

Я предполагаю, что при печати на терминал я даю блок gnuradioдополнительное время обработки для блока для обработки.Это только моя догадка, и может быть не точная причина.Пожалуйста, исправьте, если это не так.

Печать на терминал - это операция ввода-вывода.Это означает, что программа, обрабатывающая данные (обычно ядро ​​linux может обрабатывать данные PTY, или они могут быть напрямую переданы процессу вашего эмулятора терминала), установит ограничение на то, как она принимает данные от печати программы.

Функция work вашего радиоблока GNU просто заблокирована, поскольку ресурсы, которые вы пытаетесь использовать, ограничены.

Итак, могу ли я добавить определенную величину задержки обработкив блоке (как то, что я получил во время распечатки данных на терминал) в gnuradio.

Да, но это никак не помогает.

Вы - IOсвязаны.Делать что-то, что не печатается на терминале - имеет большой смысл, потому что вы все равно не можете читать так быстро.

...