Reputation: 96897
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?
Upvotes: 3
Views: 165
Reputation: 28733
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.
Upvotes: 6
Reputation: 1003
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.
Upvotes: 8