gpt4 book ai didi

c++ - 搜索硬盘中所有文件的最快方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 10:47:37 24 4
gpt4 key购买 nike

我目前正在尝试搜索硬盘中的所有文件。

我将在窗口 7 上搜索大量文档。这意味着使用大量文件 I/O...

我在想我应该使用多线程或异步 I/O。

你怎么看?

最佳答案

如果您以正确的方式考虑它,这很适合工作流水线:线程 1 使用目录列表来检索和获取目录列表。线程 2 使用目录列表并将其他目录分派(dispatch)回线程 1,同时将文件转发到线程 3。

同时,线程 3 有一个简单的工作:一次从文件中获取 N 页数据,并将它们转发给线程 4,线程 4 在内存页面中搜索匹配项。

因为应用程序主要受 IO 限制,所以您可以轻松地在线程 3 中投入一些 CPU 来优化请求的并发性和优先级,以尝试确保最大限度地提高新页面传送到线程的速度4 以及整个过程完成的速度。

OTOH,您可能会发现只需切换到 memory-mapped IO将以足够快的速度生成不太复杂的解决方案。

关于c++ - 搜索硬盘中所有文件的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16322585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com