[Moscow.pm] perl и "Очень Большие Файлы" (tm)

Alex Shatlovsky shatlovsky на gmail.com
Вт Фев 19 06:56:21 PST 2008


On 2/19/08, Монашёв Михаил <postmaster на softsearch.ru> wrote:
> Здравствуйте, Алекс.
>
> > Задумался над таким вопросом.
> > Предположим, есть файл большого размера. Такой, что точно не влезет в
> > доступную физическую память. А нам хочется сделать на содержимом файла
> > s///s.
>
> > Пока ничего лучше скользящего окна не придумывается, да и то не
> > уверен, что это будет давать достаточно предсказуемый результат.
>
> > Вообще, возможно ли решение такой задачи средствами Perl, как думаете?
>
> Можно попробовать отделить поиск от замены.
>
> Также можно попробовать ввести некоторые ограничения на размер строки,
> которая может найтись.
>
> Не  надо  стремиться  к  универсальным  решениям.  Например  факториал
> считать  от  большого  числа  в  теории  можно,  а  на практике весьма
> сложновато... Так и тут. Универсальность отсекает практически полезные
> и реализуемы решения. Например не позволяет вести поиск параллельно.

Так дело в том, что простые решения уже реализованы и используются. Но
имеют ограничения -- либо обрабатывать файл построчно (модель sed),
либо целиком загружать в переменную.

Я не очень догоняю, в чем принципиальная сложность для системы
работать с дисковым файлом как с памятью, ведь по сути они отличаются
лишь скоростью доступа.


Подробная информация о списке рассылки Moscow-pm