首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >boost::lockfree::spsc_queue分配程序最大大小?

boost::lockfree::spsc_queue分配程序最大大小?
EN

Stack Overflow用户
提问于 2014-11-12 16:52:14
回答 1查看 399关注 0票数 1

我需要缓冲一堆传入的10 10GigE数据,以便以后可以将其写入磁盘。这样做是一个问题,因为我正在读取的设备将溢出,如果我没有足够快地服务它。

为了寻找解决方案,我偶然发现了boost::lockfree::spsc_queue。特别是,我喜欢这样一个事实:我可以为队列预先分配内存,因为在push()期间调整大小可能会导致速度减慢,从而导致溢出。

但是,考虑到数据速率,我需要一个较大的缓冲区。因此,我想知道我可以为队列分配的最大大小(无论是项的#还是字节)。我计划部署的系统有24 up可用,所以我希望分配多达16 up,以确保队列永远不会被填满。最后要注意的是,代码将驻留在Linux机器上(x86-64体系结构),所以如果有任何必要的内核参数来改变这个大小,这也是很好的了解。

提前谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-23 03:51:53

在对队列进行了实验之后,我能够(动态地)分配一个大队列。似乎没有任何限制。

但是,静态地说,您是有限的,当我创建大型静态分配缓冲区时,我正在接收错误。不过,我并没有充分利用它来找到确切的价值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26892232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档