Nito.AsyncEx 的 AsyncProducerConsumerQueue 的性能是否足以处理千兆字节的字节?
Is Nito.AsyncEx's AsyncProducerConsumerQueue performant enough to handle gigabytes of bytes?
AsyncProducerConsumerQueue<byte> (maxCount: 10*1024*204)
是为处理千兆字节而设计的,还是有更好的方法来为千兆字节创建流式队列?把一些大小的byte[]放入队列是不是更好?
十亿次调用 await Dequeue
对我来说听起来很奇怪...
AsyncProducerConsumerQueue
- 与 AsyncEx
中的所有其他类型一样 - 是为了可维护性和正确性而编写的,而不是性能。
对于高性能的异步队列,我推荐Channels。您最终还是会多次调用 await
,但是 Channels 使用 ValueTask<T>
,这非常高效,尤其是在同步情况下。
AsyncProducerConsumerQueue<byte> (maxCount: 10*1024*204)
是为处理千兆字节而设计的,还是有更好的方法来为千兆字节创建流式队列?把一些大小的byte[]放入队列是不是更好?
十亿次调用 await Dequeue
对我来说听起来很奇怪...
AsyncProducerConsumerQueue
- 与 AsyncEx
中的所有其他类型一样 - 是为了可维护性和正确性而编写的,而不是性能。
对于高性能的异步队列,我推荐Channels。您最终还是会多次调用 await
,但是 Channels 使用 ValueTask<T>
,这非常高效,尤其是在同步情况下。