嵌套文件夹中的文件读取速度更快还是无关紧要?
Is file reading faster in nested folders or doesn't matter?
我的问题纯粹是文件路径读取和磁盘驱动器...我想。
我有 python 代码需要提取一个我确切知道其文件路径的特定文件。我可以选择将该文件存储在一个包含数千个其他文件的大文件夹中,或者将它们全部分成子文件夹。哪种选择会提高阅读速度?
我的担心和缺乏知识表明,当代码进入一个包含数千个其他文件的大文件夹时,这比进入一个包含几个子文件夹的文件夹要困难得多。还是我错了,如果我生成准确的文件路径,一切都是即时的?
同样,我不必扫描文件或文件夹,因为我确切地知道文件路径 link 但我不知道磁盘驱动器的较低级别会发生什么?
编辑:给定 Windows 7 上的标准 HDD,两者中哪一个会更快?
C://Folder_with_millions_of_files/myfile.txt
或
C://small_folder/small_folder254/small_folder323/myfile.txt
注意:我需要它的目的不是扫描数千个文件,而是尽快提取一个文件。有点查找 table 我认为这是。
为了获得最大的可扩展性,尽管不推荐嵌套多个文件夹,但最好的做法似乎是将文件夹拆分为子文件夹,最好使用多个较大的文件夹,而不是数千个较小的文件夹,
Rather than shoveling all of those files into a single filesystem, why not spread them out across a series of smaller filesystems? The problems with that approach are that (1) it limits the kernel's ability to optimize head seeks and such, reducing performance, and (2) it forces developers (or administrators) to deal with the hassles involved in actually distributing the files. Inevitably things will get out of balance, forcing things to be redistributed in the future.
通过查看这些文章,我得出以下结论,
< 65,534 个文件(一个文件夹就足够了)
> 65,534 个文件(分成文件夹)
为了在未来实现可扩展性,建议跨文件夹拆分数据,但基于文件系统和观察到的性能可能会每 65,534 个项目或每天、类别等创建一个新文件夹。
基于,
single folder or many folders for storing 8 million images of hundreds of stores?
https://lwn.net/Articles/400629/
https://superuser.com/questions/446282/max-files-per-directory-on-ntfs-vol-vs-fat32
我的问题纯粹是文件路径读取和磁盘驱动器...我想。
我有 python 代码需要提取一个我确切知道其文件路径的特定文件。我可以选择将该文件存储在一个包含数千个其他文件的大文件夹中,或者将它们全部分成子文件夹。哪种选择会提高阅读速度?
我的担心和缺乏知识表明,当代码进入一个包含数千个其他文件的大文件夹时,这比进入一个包含几个子文件夹的文件夹要困难得多。还是我错了,如果我生成准确的文件路径,一切都是即时的?
同样,我不必扫描文件或文件夹,因为我确切地知道文件路径 link 但我不知道磁盘驱动器的较低级别会发生什么?
编辑:给定 Windows 7 上的标准 HDD,两者中哪一个会更快?
C://Folder_with_millions_of_files/myfile.txt
或
C://small_folder/small_folder254/small_folder323/myfile.txt
注意:我需要它的目的不是扫描数千个文件,而是尽快提取一个文件。有点查找 table 我认为这是。
为了获得最大的可扩展性,尽管不推荐嵌套多个文件夹,但最好的做法似乎是将文件夹拆分为子文件夹,最好使用多个较大的文件夹,而不是数千个较小的文件夹,
Rather than shoveling all of those files into a single filesystem, why not spread them out across a series of smaller filesystems? The problems with that approach are that (1) it limits the kernel's ability to optimize head seeks and such, reducing performance, and (2) it forces developers (or administrators) to deal with the hassles involved in actually distributing the files. Inevitably things will get out of balance, forcing things to be redistributed in the future.
通过查看这些文章,我得出以下结论,
< 65,534 个文件(一个文件夹就足够了)
> 65,534 个文件(分成文件夹)
为了在未来实现可扩展性,建议跨文件夹拆分数据,但基于文件系统和观察到的性能可能会每 65,534 个项目或每天、类别等创建一个新文件夹。
基于,
single folder or many folders for storing 8 million images of hundreds of stores?
https://lwn.net/Articles/400629/
https://superuser.com/questions/446282/max-files-per-directory-on-ntfs-vol-vs-fat32