2016-01-30 82 views
2

Elixir中有一种内置的数据类型可用于FIFO队列吗?Elixir简单,高效的FIFO队列

我已经看过列表,但它似乎是不是有效得到列表尾巴?也许我错了吗?

我的队列需要保存100,000个或更多的元素。 我的需求是我为音频生成44100个元组,形式为{t,y}。我试图实现一个延迟,所以我需要在将音频发送到处理管道之前排队几秒钟(也许最多10秒)。

+6

您是否检查过Erlang队列 - http://erlang.org/doc/man/queue.html? – arathunku

+0

我刚刚发现这件事,它看起来正是我需要的东西,谢谢! –

+0

arathunku,erlang队列工作完美,如果你让这个答案我会接受 –

回答

5

我不确定100,000或更多元素的性能,但看起来您正在寻找Queue。它是由Erlang/OTP提供的FIFO队列。

+0

那些跨节点复制的东西呢? –

+0

由于Erlang代码通常用于软实时应用程序,因此请注意标准'queue'的* amortized * perf特性。例如,在进行10万次'in'调用之后,第一个'out'调用将是O(N)操作。但是,剩下的99,999次出局电话将是O(1)。 – dimagog