Tie :: File лениво загружает файл? - PullRequest
3 голосов
/ 03 декабря 2009

Я планирую написать простую программу для просмотра текста, которая, как я ожидаю, сможет работать с файлами очень большого размера. Я думал об использовании Tie::File для этого, и вроде как разбивал строки. Это загружает линии лениво или все сразу?

Ответы [ 2 ]

8 голосов
/ 03 декабря 2009

Не загружается весь файл. Из документации :

Файл не загружен в память, поэтому он будет работать даже для гигантских файлов.

6 голосов
/ 03 декабря 2009

Насколько я вижу из его исходного кода , он хранит только используемые строки в памяти. И да, он загружает данные только при необходимости.

Вы можете ограничить количество используемой памяти параметром memory.

Он также отслеживает смещения всех строк в файле для оптимизации доступа к диску.

...