全部, 我需要在.Net CF平台(ARM芯片)上使用高速堆栈。有谁知道标准(托管)队列类是否适用于我在下面描述的内容?有人知道它们有多快吗?如果我不使用托管内存类,我应该使用什么?
堆栈将需要一个最大大小(以兆字节为单位... 10或20 ......所以堆上的内存,可能?)和推入堆栈的项目将意味着堆栈上的旧项目现在超出最大大小将弹出(我不关心旧数据)。提出的Arm芯片是一个很好的...但我看的是每秒约5兆字节。
堆栈一旦填充,将以先进先出(FIFO)的方式读取(因此,从这个意义上说,它是一个队列)。
我需要能够窥视堆栈以获取数据块的副本。
所以它充当缓冲区(最后2秒的数据),直到用户在为子孙后代记录数据时声明了兴趣......
谢谢!
Aidanapword
答案 0 :(得分:2)
标准通用队列非常快。我们无法告诉您它是否足够快以满足您的需求,因为我们不知道您的硬件能够使用什么或您将使用什么类型的数据。如果它们不够快(你将不得不在真正的目标硬件上进行测试),那么我可能会考虑使用内存映射文件进行自定义循环缓冲区实现。你不会比这更快。