我有一个从标准输入中读取数据的C程序。我将在linux上使用dd命令测试我的程序,使用(4KB的读缓冲区)2 2GB的数据。
我在3.20 got的机器上得到了565MB/s的速度。我在300 got的机器上得到了更少的。有什么技巧可以最大限度地提高输入速度。我已经阅读了一些proc条目,但可以获得任何帮助。(这是不是可以最大化内核io缓冲区大小来提高速度?)请尽快简短回复。
该领域的初学者。
发布于 2012-07-10 19:12:31
增加读缓冲区(当前为4K)将有助于提高速度。没有其他相关的可调参数可以始终如一地帮助您。减少上下文切换和更大批量的工作应该是你的关键方法。
发布于 2012-07-09 17:58:58
如果您的2 2GB输入是在磁盘上的连续块中,您可以尝试设置内核的fadvise。这将使Linux内核的预取窗口更大。
请注意,只有当访问硬盘是瓶颈时,这才会有帮助。
https://stackoverflow.com/questions/11389616
复制相似问题