为大文件和小文件创建NSFileHandle之间是否存在性能差异?

时间:2012-11-02 04:59:37

标签: objective-c ios nsfilehandle

这个问题让我感到非常愚蠢,但我只是想要理智地检查自己。出于各种原因,我将一堆文件焊接到一个megafile中,然后将其作为我的iOS应用程序中的资源打包。然后我使用NSFileHandle打开文件,寻找正确的位置,并读出我想要的字节。

这样做和阅读松散文件有什么性能差异吗?或者,假设我可以选择仅使用一个单片megafile,而不是10个中等大小(但仍然加入)的文件,那么“打开”大文件与较小文件之间是否有任何性能差异?

因为我确切地知道要去哪里,而我正在阅读我想要的字节,所以我看不出有什么区别。但是,嘿 - 事实证明是奇怪的事情。提前谢谢!

1 个答案:

答案 0 :(得分:0)

如果文件数量非常大,可能会有所不同。每个打开的文件都占用内存中的资源(文件句柄等),并且在某些存储设备上,即使文件没有填满,文件也会占用整个块。在极端情况下,这可能导致浪费的空间。但在实践中,它可能不会成为问题。要确切知道,您可以对代码进行分析,看看代码与其他代码是否更快,并查看它在典型设备上占用的空间。