circular-buffer相关内容

Flash 中的循环缓冲区

我需要将不同长度的项目存储在闪存芯片的循环队列中.每个项目都有它的封装,所以我可以弄清楚它有多大以及下一个项目从哪里开始.当缓冲区中有足够的项目时,它会自动换行. 在闪存芯片中存储循环队列的好方法是什么? 我想存储数以万计的物品的可能性.所以从头开始读取到缓冲区的末尾并不理想,因为搜索到末尾需要时间. 另外,因为它是循环的,我需要能够区分第一个项目和最后一个项目. 最后一个 ..
发布时间:2022-01-21 11:57:14 其他开发

使用 PACKET_MMAP 和 PACKET_TX_RING 发送数据比“正常"要慢.(没有)

我正在用 C 语言编写一个流量生成器,使用 PACKET_MMAP 套接字选项来创建一个环形缓冲区以通过原始套接字发送数据.环形缓冲区充满了要发送的以太网帧,并调用 sendto.环形缓冲区的全部内容通过套接字发送,这应该比在内存中拥有缓冲区并为缓冲区中需要发送的每一帧重复调用 sendto 提供更高的性能. 当不使用 PACKET_MMAP 时,在调用 sendto 时,单个帧会从用户级内 ..

Clojure 循环数据结构是否必须涉及像 ref 这样的结构?

今天我看到了一些关于打结和循环数据结构的参考资料.我一直在阅读一些答案,解决方案似乎涉及使用 ref 指向列表的头部.一个特定的 SO 问题 展示了一个 Haskell 示例,但我对 Haskell 不太了解,无法知道该示例是否使用了等效于 ref 的 Haskell. 有没有办法在不使用 ref 或类似结构的情况下使 Clojure 数据结构循环? 谢谢. 解决方案 我直接将 ..
发布时间:2022-01-02 23:21:48 其他开发

JavaScript 中的循环缓冲区

有人已经在 J​​avaScript 中实现了循环缓冲区吗?如果没有指针,你会怎么做? 解决方案 奇怪的巧合,我今天早些时候刚写了一个!我不知道您的具体要求是什么,但这可能有用. 它提供了一个类似无限长度数组的界面,但“忘记"了旧项目: //循环缓冲区存储.外部表观“长度"无限增加//而任何索引低于长度 n 的项目都将被遗忘(未定义//如果您尝试获取它们将返回,尝试设置是一个例外) ..
发布时间:2021-12-22 08:11:36 前端开发

你如何在 C 中实现循环缓冲区?

我需要一个固定大小(在创建时可以在运行时选择,而不是在编译时选择)循环缓冲区,它可以容纳任何类型的对象,并且需要非常表现.我认为不会出现资源争用问题,因为虽然它是在一个多任务嵌入式环境中,但它是一个协作环境,因此任务本身可以管理它. 我最初的想法是在缓冲区中存储一个简单的结构,该结构将包含类型(简单枚举/定义)和一个指向有效负载的空指针,但我希望它尽可能快,所以我愿意接受建议这涉及绕过堆. ..
发布时间:2021-12-22 00:00:00 其他开发

如何创建一个封闭的(圆形)ListView?

我想创建一个自定义的 ListView(或类似的),它的行为就像一个封闭的(圆形): 向下滚动 - 在到达最后一个项目后,第一个开始(.., n-1, n, 1, 2, ..) 向上滚动 - 到达第一项后,最后一项开始 (.., 2, 1, n, n-1, ..) 这在概念上听起来很简单,但显然没有直接的方法可以做到这一点.谁能指出我正确的解决方案?谢谢! 我已经收到了一个答案 ..
发布时间:2021-12-13 16:00:02 移动开发

Scala 集合循环缓冲区

只是在这里乱搞,使用循环缓冲区.这是一个明智的实现,还是有更快/更可靠的方法来给这只猫剥皮? class CircularBuffer[T](size: Int)(implicit mf: Manifest[T]) {私有 val arr = 新 scala.collection.mutable.ArrayBuffer[T]()私有变量游标 = 0val 监视器 = 新 ReentrantRea ..
发布时间:2021-07-15 20:24:41 其他开发

高效的循环缓冲区?

我想在 python 中创建一个高效的循环缓冲区(目的是取整数值的平均值)缓冲). 这是使用列表收集值的有效方法吗? def add_to_buffer( self, num ):self.mylist.pop( 0 )self.mylist.append( num ) 什么会更有效(以及为什么)? 解决方案 我会使用 collections.deque 带有 maxlen ar ..
发布时间:2021-06-25 19:50:22 Python

使用 PACKET_MMAP 和 PACKET_TX_RING 发送数据比“正常"慢(没有)

我正在用 C 语言编写一个流量生成器,使用 PACKET_MMAP 套接字选项来创建一个环形缓冲区,以便通过原始套接字发送数据.环形缓冲区填充了要发送的以太网帧,并调用 sendto.环形缓冲区的全部内容都通过套接字发送,这应该比在内存中有缓冲区并为缓冲区中需要发送的每一帧重复调用 sendto 提供更高的性能. 当不使用 PACKET_MMAP 时,在调用 sendto 时,单个帧从用户区 ..

具有原子索引的环形缓冲区

我一直在努力对原子在C ++中的工作方式有一个根本性的误解.我已经编写了以下代码,以使用原子变量作为索引来实现快速环形缓冲区,以便多个线程可以读写该缓冲区.我将代码缩减为这种简单的情况(我意识到仍然有些长.抱歉.).如果我在Linux或Mac OS X上运行此程序,它有时会起作用,但也至少有10%的时间会引发异常.它似乎也运行得非常快,然后放慢速度,甚至可能再次加快速度,这也暗示某些事情不太正确. ..
发布时间:2021-04-12 19:22:34 C/C++开发

将视频录制到Android上的循环缓冲区

我正在寻找最好的方法(如果有的话)将连续视频捕获到SD卡上的循环缓冲区中,从而允许用户在事件发生后捕获事件. 标准视频录制API允许您直接直接写入文件,并且当达到限制(由用户设置或SD卡的容量)时,必须停止并重新开始录制.这将创建长达2秒的长时间窗口,在该窗口中不会运行录制.这是某些现有应用(例如DailyRoads Voyager)已经完成的工作.为了最大程度地减少错过重要事件的机会,您可 ..

python中的文本文件循环缓冲区

我需要一个Python脚本,为文本文件中的行(仅限N行)实现循环缓冲区,如下所示: row 1 -> pop row 2 row 3 | | push -> row N 什么是最佳解决方案? 编辑: 该脚本应创建和维护仅包含最新N行的文本文件.然后,它应该弹出推入的第一行.就像fifo缓冲区一样. ..
发布时间:2020-11-05 18:35:12 Python

用于连续输入流的PortAudio实时音频处理

我正在使用PortAudio来实现实时音频处理。 我的主要任务是连续从麦克风获取数据,并提供100个样本用于处理(每个FRAME =一次100个样本)到其他处理线程。 这是我的回调,每次连续采集100个样本- static int paStreamCallback(const void * input,void * output, unsigned long samplesP ..

高效的通知单

我想要一个简单而有效的循环缓冲区/队列。如果我使用 std :: vector ,则必须这样做: if(v.size()> = limit){ std :: vector它= v.begin(); v.insert(it,data); v.erase(it + 1); } 有没有更简单的解决方案? 解决方案 您要保持缓冲区的大小,覆盖较早的 ..
发布时间:2020-06-08 18:45:38 C/C++开发

在圆形排序数组中搜索元素

我们要在圆形排序数组中搜索给定元素,其复杂度不超过 O(log n)。 示例:搜索 {5,9,13,1,3} 中的 13 。 我的想法是将圆形数组转换为常规排序的数组,然后对结果数组进行二进制搜索,但是我的问题是我出现的算法很愚蠢,在最坏的情况下,它花费 O(n): i = 1; i ..
发布时间:2020-06-03 19:53:54 其他开发

如何在窗口函数中使用环形数据结构

我有以环形结构(或圆形缓冲区)排列的数据,可以表示为循环的序列:...- 1-2-3-4-5-1-2-3 -....参见此图片,可以了解5环的概念: 我想创建一个窗口查询,该查询可以将滞后项和提前项组合成一个三点数组,但是我无法弄清楚。例如,在5部分环的第1部分中,滞后/超前序列为5-1-2,或者在第4部分中为3-4-5。 这是一个示例表,其中包含两个具有不同零件数的环(每个环总是超过 ..