我想知道什么是更好的性能:写入一个大文本文件(大约10GB或更多)或使用一个子文件夹系统将有3个级别,每个文件夹有256个文件夹,最后一级将是文本文件。例如:
1
1
2
3
1
2
3
4
4
2
3
4
它将被大量访问(将打开,附加一些文本然后关闭),所以我不知道什么是更好的,一秒钟打开和关闭文件指针一千次,或更改一个大文件内的指针一千次。
我处于核心i7,6GB DDR3内存和ext4下60MB / s写入磁盘速度。
答案 0 :(得分:2)
你问一个相当通用的问题,所以通用的答案是使用大文件,访问它并让文件系统及其缓存担心优化访问。有可能他们提出了比你刚才做的更先进的算法(没有冒犯)。
答案 1 :(得分:0)
要做出决定,您需要知道许多问题的答案,包括:
你实际上没有提到任何关于阅读文件的内容 - 这很奇怪。
如果您实际上只对该文件或文件进行只写访问,则始终使用O_APPEND
(或"a"
)打开的单个文件可能是最佳的。如果您正在更新(以及附加)信息,那么您将陷入锁定问题(并发访问;谁赢了)。
所以,你没有在问题中包含足够的信息,任何人都可以提供任何确定的答案。如果您添加的评论中有足够的信息,那么您应该将这些评论放入问题中(编辑问题;添加评论材料)。