It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center。
7年前关闭。
假设我在Linux上有一个非常快速且无限的数据源(例如套接字,/ dev / null或/ dev / random),并且我需要将此类数据写入C / C++的磁盘中。在给定的硬件上完成此操作最快的代码是什么? fwrite(),无缓冲write(),一些Boost ASIO函数?
7年前关闭。
假设我在Linux上有一个非常快速且无限的数据源(例如套接字,/ dev / null或/ dev / random),并且我需要将此类数据写入C / C++的磁盘中。在给定的硬件上完成此操作最快的代码是什么? fwrite(),无缓冲write(),一些Boost ASIO函数?
最佳答案
好吧,就原始输出速度而言,您将必须对其进行基准测试,具体取决于测试,QoI,平台,所编写的内容以及文件,fstream或POSIX原语中任何其他东西的漏洞。最快的。
但是,如果您可以使用Boost asio之类的东西,那么由于它的异步特性,您可能会获得一定的速度,它可以继续进行下一次读取工作,同时仍在写入磁盘。
编辑:我会使用boost asio,它将允许您在等待固有的慢速操作(文件和网络IO)的同时充分利用您的资源。
关于c++ - 在Linux上将文件写入磁盘的最快方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13279319/
10-10 14:19