当前位置 : 主页 > 编程语言 > c++ >

c – 如何在fork的帮助下平行搜索文件中的字符串? (GNU Linux / g)

来源:互联网 收集:自由互联 发布时间:2021-06-23
我有一个带有几行的文本文件,我在这个文件中寻找一个字符串.我需要将以下命令行参数传递给程序: – 文件路径 – 我正在寻找的字符串 – 允许程序“分叉”以完成此任务的最大进
我有一个带有几行的文本文件,我在这个文件中寻找一个字符串.我需要将以下命令行参数传递给程序:
– 文件路径
– 我正在寻找的字符串
– 允许程序“分叉”以完成此任务的最大进程数.

应该如何构建这样的程序?

几个想法.

>您必须分别从每个进程打开文件,否则它们将共享一个文件描述符,因此在文件中具有共享位置(或者不是,请参阅注释,因为这可能是系统特定的……).
>由于磁盘访问和/或缓存未命中模式,您可能看不到您希望的速度增加.

你可能能够通过内存映射文件来解决这两个问题(你仍然冒着增加缓存未命中率的风险)……

你需要多少钱?它存在过早优化的真正风险.我建议不要在没有迫切需要的情况下触摸问题.真.

网友评论