0

这个问题让我觉得几乎是愚蠢的,但我只是想检查一下自己的理智。出于各种原因,我将一堆文件合并为一个单独的巨型文件,然后将其作为资源打包到我的 iOS 应用程序中。然后我使用 NSFileHandle 打开文件,寻找正确的位置,然后只读出我想要的字节。

这样做和读取松散文件之间有什么性能差异吗?或者,假设我可以选择只使用一个单一的巨型文件,而不是 10 个中型(但仍连接)文件,“打开”大文件和小文件之间是否存在性能差异?

由于我确切地知道要查找的位置,并且我只读取我想要的字节,所以我看不出会有什么不同。但是,嘿 - 事实证明是奇怪的事情。提前致谢!

4

1 回答 1

0

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

于 2012-11-02T05:03:14.367 回答