Чтобы быстро прочитать большой файл, который находится в Gigs в PERL - PullRequest
0 голосов
/ 13 мая 2011

В настоящее время мы читаем файл построчно, что задерживает чтение и завершение для всех.

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

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

, пожалуйста, помогите.

1 Ответ

3 голосов
/ 13 мая 2011

Чтение большого файла занимает немало времени - в конце концов, диски медленные.Прежде чем вы начнете смотреть на Perl, сначала попробуйте (при условии, что вы работаете в системе Unix-типа):

time cat /path/to/your/large/file >/dev/null

Вывод подскажет вам, сколько времени нужно, чтобы просто прочитать этот файл с диска, ничего не делаяк этому.Поочередно откройте файл в вашем любимом текстовом редакторе и укажите время, которое требуется для загрузки.Когда у вас будет это время, сравните его с тем, сколько времени занимает ваша Perl-программа, чтобы прочитать файл.Если программа Perl не займет значительно больше времени, вы вряд ли сможете что-либо с этим поделать, потому что время тратится на получение данных с диска, а не на их обработку.

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

Если вам нужна более конкретная помощь, пожалуйста, предоставьте более подробное описание того, что вы хотите достичь, и небольшой исполняемый фрагмент кода Perl, который показывает, как вы в настоящее время читаете и обрабатываете файлчтобы мы могли видеть, делаете ли вы что-то особенно неэффективное, что можно улучшить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...