2
|
Nick Jurista · 技术社区 · 14 年前 |
1
4
如果您已经知道要查找的偏移量,那么fseek是这里最好的方法,因为如果只需要几个字节,就没有理由将整个文件加载到内存中。第一种方法更好,因为您可以直接跳到文件流中所需的内容并读出一小部分。第二种方法要求您将整个文件读入内存,然后在您可以直接从文件中读取文件的情况下查找整个文件。希望这能回答你的问题 |
2
3
文件是以集群为单位读取的,集群通常大约为8kb。通常有几个集群是预先读取的。 因此,如果文件只有几KB,那么使用fseek与读取整个文件相比几乎没有什么好处。文件系统仍将读取整个文件。 如果文件比您的示例大得多,则只需读取少数集群,因此第一个方法的性能应该更好。最坏情况下,所有数据仍将从磁盘读取,但应用程序仍将使用较少的内存。 |
3
1
似乎寻找你想要的位置,然后只读取你需要的字节是最好的方法。 但是 对的 答案是(一如既往地)测试它的真实性,而不是猜测。在服务器环境中运行两个示例并进行一些时间测量。还要检查内存使用情况。一旦你有一些硬数据要备份,就进行优化。 |
Hatsune Miku · 比较或if语句是否更快[已关闭] 1 年前 |
Black Swan · 无法解压缩的值太多(应为2)错误 1 年前 |
Kai · 有什么方法可以轻松优化VSCode中的锈迹? 2 年前 |
Balfar · 处理NumPy阵列上的循环最有效的方法是什么? 2 年前 |
Daniel · C#轻松存储快速访问的大型位矩阵 6 年前 |
halbe · 优化音频DSP程序的numpy计算 6 年前 |
Afsara · 是否有任何方法不能优化我们的应用程序? 6 年前 |