[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