3

我正计划编写一个简单的文本查看器,我希望它能够处理非常大的文件。我正在考虑使用Tie::File它,并对这些行进行分页。这是懒惰地加载行,还是一次加载所有行?

4

2 回答 2

8

它不会加载整个文件。从文档中:

该文件未加载到内存中,因此即使对于巨大的文件也可以使用。

于 2009-12-03T20:44:12.777 回答
6

据我从它的源代码中可以看出,它只在内存中存储使用过的行。是的,它仅在需要时加载数据。

memory您可以使用参数限制使用的内存量。

它还跟踪文件中所有行的偏移量以优化磁盘访问。

于 2009-12-03T20:47:56.707 回答