Questions tagged «circular-buffer»

15
有效的循环缓冲区?
我想在python中创建一个高效的循环缓冲区(目标是取缓冲区中整数值的平均值)。 这是使用列表收集值的有效方法吗? def add_to_buffer( self, num ): self.mylist.pop( 0 ) self.mylist.append( num ) 什么会更有效(为什么)?

9
如何在C中实现循环缓冲区?
我需要一个固定大小(可在运行时在创建时选择,而不是在编译时选择)的循环缓冲区,该缓冲区可以容纳任何类型的对象,并且需要非常高性能。我认为不会出现资源争用问题,因为尽管它是在多任务嵌入式环境中,但它是一种协作的环境,因此任务本身可以管理它。 我最初的想法是在缓冲区中存储一个简单的结构,该结构将包含类型(简单的enum / define)和一个指向有效负载的空指针,但是我希望这样做尽可能快,因此我对涉及绕过的建议持开放态度堆。 实际上,我很高兴绕过任何标准库以提高原始速度-从我对代码的了解来看,它没有针对CPU进行过大幅优化:看起来他们只是为诸如此类的东西编译了C代码,strcpy()没有手工编码的程序集。 任何代码或想法将不胜感激。所需的操作是: 创建具有特定大小的缓冲区。 放在尾巴。 从头上得到。 返回计数。 删除缓冲区。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.