gpt4 book ai didi

c++ - 从一个目录中读取许多小文件会有多大问题?

转载 作者:IT王子 更新时间:2023-10-29 00:31:35 26 4
gpt4 key购买 nike

我必须阅读许多(最多 5 mio)小 (9 KB) 文件。目前它们都在一个目录中。我担心这会花费二次时间甚至 n^2 log n 来查找,对吗?这重要吗(查找会比实际阅读花费更多时间)?当文件被操作系统缓存时,运行时间的渐近行为是否存在差异?

我使用 C++ 流来读取文件。目前我正在使用带有 NTFS 的 Windows 7,但稍后我将在 linux 集群上运行该程序(不确定是哪个文件系统)。

最佳答案

它可能没那么糟糕:如果您枚举文件,并在遇到每个文件名时对其进行处理,您的操作系统很可能在其磁盘缓存中有目录条目。出于实际目的,磁盘缓存的复杂度为 O(1)。

杀死你的是机械 HDD。您将进行 500 万次磁盘寻道,每次寻道大约需要 1/100 秒。那是 50.000 秒,超过半天。这是一项迫切需要 SSD 的任务。

关于c++ - 从一个目录中读取许多小文件会有多大问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39449868/

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