circular-buffer相关内容

如何有效地包装固定大小的循环缓冲区的索引

我有一个固定大小的循环缓冲区(实现为数组):初始化后,缓冲区将填充有指定的最大元素数量,这允许使用单个位置索引来跟踪我们当前的位置圆圈. 访问循环缓冲区中的元素的有效方法是什么?这是我当前的解决方案: int GetElement(int index) { if (index >= buffer_size || index ..
发布时间:2020-05-21 20:37:33 Java开发

具有numpy/ctypes的环形缓冲区

我正在开发一个客户端,该客户端将通过tcp接收[EEG]数据并将其写入环形缓冲区.我认为将缓冲区作为ctypes或numpy数组可能会非常方便,因为可以在该缓冲区的任何位置创建一个numpy“视图",并且无需任何复制操作即可读取/写入/处理数据.还是总的来说是个坏主意? 但是,我看不到如何以这种方式实现固定大小的循环缓冲区.假设我创建了一个缓冲区对象,该对象在内存中是连续的.到达缓冲区末尾时 ..
发布时间:2020-05-18 21:03:49 Python

iOS UI导致​​我的音频流出现故障

我正在为iPhone编写一个基于VOIP的应用程序.我遇到了一个奇怪的问题,即当用户按下屏幕时,音频中会有一个小故障,当您按下手机本身上的提高/降低音量按钮时,也会发生这种情况.经过几天的调试,我发现它与循环缓冲区有关.我在这里换了我的: http://atastypixel.com /blog/一个用于音频处理的简单快速循环缓冲区实现/ 这不会引起故障,但是延迟是我的延迟的四倍,我必 ..

从结构“无效的读/写"中的指针获取数据.

我正在尝试在数组中实现循环缓冲区.我将数据保持在结构中,并通过push,pop等几种方法对其进行管理.该程序或多或少地具有功能并按预期运行,但是在valgrind测试中遇到了错误.而且我无法找出我的代码出了什么问题.尽管似乎通过指针在我的结构中管理数据是关键问题.如果有人能指出正确的方向,我将非常感激,因为此时我真的迷路了. 这是我的结构的样子: typedef struct queu ..
发布时间:2020-05-08 22:24:07 其他开发

Windows环形缓冲区,无需复制

在 Ring Buffer的Wikipedia条目上,有谢谢,弗雷泽 解决方案 我并没有真正遵循维基百科中该示例的所有细节.考虑到这一点,您可以使用 CreateFileMapping a>和 MapViewOfFile ,但是MapViewOfFile不允许您可以指定映射的基地址. MapViewOfFileEx 可用于指定基本地址,因此也许您可以使用类似的技术. 我没有任何方法可 ..
发布时间:2020-05-08 19:28:36 其他开发

MATLAB中的循环缓冲区,**无需**复制旧数据

此处有一些不错的帖子(例如此)有关如何在MATLAB中制作循环缓冲区的信息.但是,从它们的角度来看,我认为它们不适合我的应用程序,因为我要寻找的是MATLAB中的循环缓冲区解决方案,它不涉及任何对旧数据的复制. 举一个简单的例子,让我们说我一次处理50个样本,并且每次迭代读取10个样本.我将首先运行5次迭代,填满缓冲区,最后处理50个样本.所以我的缓冲区将是 [B1 B2 B3 B4 ..

C ++如何将地图与循环缓冲区混合?

我想知道是否有可能像boost循环缓冲区那样工作的映射.这意味着它将具有有限的大小,并且当它达到其有限的大小时,它将开始覆盖第一个插入的元素.我也希望能够通过[name]通过此类缓冲区和find or create进行搜索.是否有可能创建这样的东西以及如何做? 解决方案 好吧,我认为Boost中没有现成的结构(尽管可能存在于其他地方),所以应该创建它.但是,我不建议使用operator[] ..
发布时间:2020-05-05 14:08:29 C/C++开发

Flash实现中的循环缓冲区

我一直在为嵌入式设备开发数据记录器.目标是存储 定期将一组变量的值存储到外部闪存中. 我的想法是在RAM中创建一个缓冲区.缓冲区的大小将等于 外部闪存的一个扇区中的字节数,即512B. 在规定的时间内,我将用变量的值填充缓冲区,然后 我将此记录存储到外部闪存中.外接闪光灯包含几个 为数据日志存储保留的块.这些块形成循环缓冲区 即,一旦缓冲区已满,最早的记录将被覆盖. 我一直在考虑的第一件事是 ..
发布时间:2020-05-03 08:46:50 其他开发

将圆形缓冲区移位/对齐/旋转到原位为零

我正在使用循环缓冲区将数据推入列表的任一端.完成后,我想对齐缓冲区,以便列表中的第一个元素位于零位置,并且可以像常规数组一样使用,而没有花哨的索引开销. 所以我有容量为N的循环list,它具有从任意索引f开始的n个元素. 移动/旋转所有元素(例如f = 0)的最快方法是什么? 问题是我想就地进行此操作(虽然当然需要一些寄存器/临时器).缓冲区可能已满(n = N),[ EDIT ..
发布时间:2020-05-02 06:44:25 其他开发

如何在Linux内核空间中读取环形缓冲区?

我正在编写一个Linux字符驱动程序,该驱动程序可以在用户空间中打印系统日志.就像命令"dmesg"一样. 我了解到,我们使用"printk"打印的所有日志都将发送到名为“环形缓冲区"的空间.所以我有个问题: 环形缓冲区是否在内核空间内? 如果是这样,我如何读取内核空间中的环形缓冲区? (我尝试阅读dmesg.c的源代码.但这没有帮助.) 解决方案 您正在寻找的是/proc/kms ..
发布时间:2020-04-25 11:17:53 服务器开发

Java中的线程安全循环缓冲区

考虑一些并行运行的Web服务器实例。每个服务器都拥有对单个共享“Status keeper”的引用,其角色是保留所有服务器的最后一个 N 请求。 例如( N = 3 ): 服务器a:“请求ID = ABCD”状态管理器= [“ABCD”] 服务器b:“请求ID = XYZZ”状态管理器= [“ABCD”,“XYZZ”] 服务器c:“请求id = 1234“Status keeper ..
发布时间:2018-12-05 09:51:58 Java开发

Flash中的循环缓冲区

我需要在闪存芯片中将不同长度的项目存储在循环队列中。每个项目都会有它的封装,所以我可以弄清楚它是多大,下一个项目开始的地方。当缓冲区中有足够的项目时,它会包装到一开始。 在闪存芯片中存储圆形队列的好方法是什么? / strong> 我想要存储数以万计的项目。所以从开始开始,读取到缓冲区的结尾并不理想,因为需要时间来搜索到最后。 另外,因为它是循环的需要能够区分第一个项目和最后一个 ..
发布时间:2017-08-15 20:43:35 HTML/CSS

JavaScript中的循环缓冲区

有没有人已经在JavaScript中实现了循环缓冲区? 解决方案 奇怪的共同发生,我今天刚写了一个!我不知道你的要求是什么,但这可能是有用的。 它提供了一个无限长度的数组的接口,但是“忘记”旧项: //循环缓冲存储。外部明显的'长度'无限期增加 //而索引低于length-n的任何项目将被遗忘(未定义的 //将返回,如果您尝试获取它们,尝试设置是一个异常)。 // n ..
发布时间:2017-04-03 11:00:20 前端开发

必须Clojure循环数据结构涉及如ref?

今天我看到了一些关于结和循环数据结构的引用。我已经出去阅读一些答案,解决方案似乎涉及使用ref指向列表的头。一个特定的 SO问题显示了一个Haskell示例,但是我不知道Haskell是否知道该示例是否使用了Haskell等价的ref。 有没有办法使一个Clojure数据结构循环而不使用ref或类似的结构? 谢谢。 解决方案 我直接将Haskell例子翻译成Clojure: ..
发布时间:2016-11-27 17:52:08 其他开发语言

计算循环缓冲区中剩余空间的简化算法?

我想知道是否有一种更简单的(单一)方法来计算循环缓冲区中的剩余空间。 int remaining =(end> start) ? end-start :bufferSize - start + end; 解决方案 如果你担心预测不佳的条件你可以使用这个: int remaining =(end - start)+( - end ..
发布时间:2016-10-27 03:34:31 C/C++开发

boost :: circular_buffer等效文件?

我在寻找一个允许在磁盘上获得循环缓冲区的库。 在Boost中有一些类似的东西,但它是一个基于内存的容器: circular_buffer 。 解决 你正在寻找内存映射文件。 使用正确的分配器,可以使容器在此内存映射区域中分配。这将使容器“在磁盘上”。 我会看看Boost Circularbuffer是否直接支持这个。 更新是的。 最好的事情是,这样就可以使 ..
发布时间:2016-10-25 14:58:51 C/C++开发

boost :: circular_buffer等效文件?

我在寻找一个允许在磁盘上获得循环缓冲区的库。 在Boost中有一些类似的东西,但它是一个基于内存的容器: circular_buffer 。 解决 你正在寻找内存映射文件。 使用正确的分配器,可以使容器在此内存映射区域中分配。这将使容器“在磁盘上”。 我会看看Boost Circularbuffer是否直接支持这个。 更新是的。 最好的事情是,这样就可以使 ..
发布时间:2016-10-25 14:47:31 C/C++开发

如何实现cv :: Mat对象(OpenCV)的循环缓冲区?

我试图为我的程序实现一个循环缓冲区。缓冲区用于在两个线程之间共享数据,如下所示。我使用OpenCV从相机抓取视频帧(线程1)。然后我想把这个数据存储在一个循环缓冲区,这样线程2可以从缓冲区获取数据。 如何在c ++中为cv :: Mat对象实现循环缓冲区?我知道如何为标准的c ++对象(如整数或字符)创建循环缓冲区,但我不能使它与类型cv :: Mat的对象。有任何建议吗? 解决方案 ..
发布时间:2016-10-14 21:28:24 C/C++开发