相关疑难解决方法(0)

NTFS性能和大量文件和目录

带NTFS的Windows如何使用大量文件和目录?

在遇到性能问题或其他问题之前,是否有关于可以放在单个目录中的文件或目录限制的指导?

例如,在其中有一个包含100,000个文件夹的文件夹,这是一件好事吗?

windows filesystems performance ntfs

181
推荐指数
5
解决办法
12万
查看次数

在NTFS上打开许多小文件太慢了

我正在编写一个应该处理许多小文件的程序,比如数千甚至数百万.我一直在测试500k文件的那一部分,第一步就是迭代一个目录,里面有大约45k目录(包括子目录的子目录等)和500k小文件.遍历所有目录和文件,包括获取文件大小和计算总大小大约需要6秒.现在,如果我尝试在遍历时打开每个文件并立即关闭它,它看起来永远不会停止.事实上,它需要太长时间(小时......).自从我在Windows上执行此操作后,我尝试使用CreateFileW,_wfopen和_wopen打开文件.我没有在文件上读或写任何东西,尽管在最后的实现中我只需要阅读.但是,我没有看到任何尝试都有明显的改善.

我想知道是否有一种更有效的方法来打开具有任何可用功能的文件,无论是C,C++还是Windows API,或者唯一更有效的方式是读取MFT并直接读取磁盘块,我我想避免?

更新:我正在处理的应用程序是使用版本控制进行备份快照.因此,它还具有增量备份.500k文件的测试是在一个巨大的源代码库上完成的,以便进行版本控制,就像scm一样.因此,所有文件都不在一个目录中.还有大约45k目录(如上所述).

因此,建议的压缩文件解决方案没有帮助,因为当备份完成时,就是访问所有文件的时候.因此,我认为没有任何好处,甚至会产生一些性能成本.

c++ windows performance ntfs directory-traversal

7
推荐指数
1
解决办法
3538
查看次数