Is Tie::File lazily loading a file?

168 Views Asked by At

I'm planning on writing a simple text viewer, which I'd expect to be able to deal with very large sized files. I was thinking of using Tie::File for this, and kind of paginate the lines. Is this loading the lines lazily, or all of them at once?

2

There are 2 best solutions below

1
On BEST ANSWER

It won't load the whole file. From the documentation:

The file is not loaded into memory, so this will work even for gigantic files.

0
On

As far as I can see from its source code it stores only used lines in memory. And yes, it loads data only when needed.

You can limit amount of used memory with memory parameter.

It also tracks offsets of all lines in the file to optimize disk access.