![]() |
1
5
这里有很多假设,但是为了所有的意图和目的,搜索 大文件要快得多 而不是搜索一堆小文件。 假设你是 查找文本字符串 包含在文本文件中。搜索 1TB文件 将 快得多 比开放 1000000 MB文件 并在其中寻找。 各 文件打开操作需要时间 . 大文件只需打开一次。 在考虑 磁盘性能 ,单个文件更可能是 不停地储存 而不是一系列的文件。 …同样,这些是在不了解更多特定应用程序的情况下进行的归纳。 享受, 罗伯特·C·卡塔诺 |
![]() |
2
3
这要看情况而定。真的?不同的文件系统是以不同的方式优化的,但一般来说,小文件是有效打包的。拥有大文件的好处是你不需要打开和关闭很多东西。打开和关闭是需要时间的操作。如果您有一个大文件,则通常只打开和关闭一次,并使用查找操作 如果您要使用大量的文件解决方案,我建议您使用
因为目录中的文件数量是有限的。 |
![]() |
3
3
这里的主要问题是关于索引。如果你要在一个没有好索引的大文件中搜索信息,你就必须扫描整个文件,寻找可能很长的正确信息。如果您认为可以构建强大的索引机制,那么很好,您应该使用大文件。 我更愿意把这个任务委托给ext3,它应该非常擅长。 编辑: 根据这个需要考虑的事情 wikipedia article on ext3 碎片会随着时间的推移而发生。因此,如果您有大量占用文件系统很大一部分的小文件,那么随着时间的推移,您将失去性能。 本文还验证了每个目录限制约32K个文件的声明(假设wikipedia文章可以验证任何内容) |
![]() |
4
2
我认为ext3每个目录的文件/子目录数量限制在32000个左右。如果您要通过数百万个文件路径,则需要将它们分布在多个目录中。我不知道那会对表演有什么影响。 我喜欢几个大文件。事实上,为什么要有几个,除非它们是某种逻辑上独立的单元?如果你只是为了把它分开,我说不要那样做。ext3可以处理非常大的文件。 |
![]() |
5
1
我使用的系统在Linux下的XFS文件系统上存储了大约500万个文件,并且没有任何性能问题。我们只使用文件来存储数据,从不完全扫描数据,我们有一个数据库用于搜索,表中的一个字段包含一个用于检索的GUID。我们使用两个级别的目录,文件名是guid,但是如果文件数量更大,可以使用更多的目录。我们选择这种方法是为了避免在数据库中存储一些额外的兆字节,这些字节只需要被存储/返回,而且从来没有被搜索过,而且它对我们来说工作得很好。我们的文件范围从1K到大约500K。 我们也在ext3上运行了这个系统,它运行得很好,尽管我不确定我们是否将它推过大约一百万个文件。由于每个目录的最大文件数限制,我们可能需要转到3目录系统。 |
![]() |
7BeholdeR7 · 文件夹的重量超过其中的文件(六倍) 2 年前 |
![]() |
ilteris · 为什么程序在fscanf后崩溃 3 年前 |
![]() |
Peaceful · 使用fscanf读取C中具有未知行数的文件 3 年前 |
![]() |
NOCi · 如何将Tensorflow的结果记录到CSV文件 3 年前 |
![]() |
Oakzeh · 如何在字符串索引之前读取文件并删除字符 3 年前 |