【发布时间】:2016-09-12 12:02:01
【问题描述】:
我必须阅读许多(最多 5 mio.)小 (9 KB) 文件。目前它们都在一个目录中。我担心这将花费二次时间甚至 n^2 log n 进行查找,对吗?这是否重要(查找是否会比实际阅读花费更多时间)?当文件被操作系统缓存时,运行时间的渐近行为是否存在差异?
我使用 C++ 流来读取文件。目前我使用的是带有 NTFS 的 Windows 7,但稍后我将在 linux 集群上运行该程序(不确定是哪个文件系统)。
【问题讨论】:
-
使用内存映射 I/O。根据我的测试,这是您可以做出的最大的文件 I/O 性能改进。
-
你能改变一个目录的限制吗?您可以在这里找到一些有用的信息:stackoverflow.com/questions/8238860/…