当我的程序只能以1 Mbps的速率处理数据时,如何处理100 Mbps的输入流

时间:2012-08-09 10:36:03

标签: c++ performance caching

我正在开发一个项目,我们可以输入100 Mbps的输入数据流。

我的程序可以在一夜之间用于捕获这些数据,从而生成大量数据文件。我解释这些数据的程序逻辑很复杂,每秒只能处理1 Mb数据。

我们还会在处理完后将字节转储到某个日志文件中。我们不想丢失任何传入的数据,同时希望我的程序能够实时工作。所以;我们正在维护一个像缓存一样的循环缓冲区。

现在只保存传入数据的方法是增加此缓冲区的大小。

请建议更好的方法来执行此操作以及我可以尝试的其他缓存方法是什么?

1 个答案:

答案 0 :(得分:3)

将输入流式传输到文件。真的,别无选择。它比你处理它更快。

您可以每秒创建一个输入数据文件。这样,您可以直接开始处理旧文件,同时在磁盘上传输新文件。