我正在与gnuradio合作。当我在终端上打印一些大数据时,我遇到了一个奇怪的性能改进,而性能却下降了,而没有在终端上给出打印声明。
我推断出,在打印到终端时,我给gnuradio块额外的处理时间,以进行处理。这只是我的预感,可能不是确切原因。如果不正确,请正确。
因此,有一种方法可以在gnuradio的一个块内增加一定数量的处理延迟(就像我在将数据打印到终端期间所得到的那样)。
预先感谢
答案 0 :(得分:0)
首先,很明显:不要在终端上打印大量数据。终端并非用于此目的,而您的CPU会尝试呈现所有文本,因此很快就会成为限制因素。
我推断出,在打印到终端时,我给gnuradio块额外的处理时间,以进行处理。这只是我的预感,可能不是确切原因。如果不正确,请正确。
打印到终端是IO要做的事情。这意味着处理数据的程序(通常,Linux内核可能正在处理PTY数据,或者它可能直接移交给终端仿真器的进程)将限制它如何从程序打印中接受数据。
您的GNU Radio块的work
函数被简单地阻止了,因为您尝试使用的资源是有限的。
因此,我可以在gnuradio的一个块内添加一定数量的处理延迟吗(就像我在将数据打印到终端期间所得到的那样)。
是的,但这在这里没有任何帮助。
您受IO约束。做一些不打印到终端上的事情–很有意义,因为无论如何您都无法快速阅读。