Tie :: File是否懒得加载文件?

时间:2009-12-03 20:37:29

标签: perl arrays tie

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

2 个答案:

答案 0 :(得分:8)

它不会加载整个文件。来自documentation

  

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

答案 1 :(得分:6)

据我所见its source code,它只在内存中存储使用过的行。是的,它仅在需要时加载数据。

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

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