В настоящее время я пишу скрипт, который принимает базу данных в качестве входных данных и генерирует все допустимые комбинации из 10+ таблиц, следуя определенным правилам.Так как вывод чертовски огромен, я выкидываю это через gzip в файл, например:
open( my $OUT, '|-', "gzip > file" );
for ( @data ) {
my $line = calculate($_);
print $OUT $line;
}
Из-за природы зверя, хотя в конечном итоге мне приходится делать сотни тысяч маленькихпишет, по одному на каждую строку.Это означает, что между каждым вычислением он ожидает gzip, чтобы получить данные и закончить их сжатие.По крайней мере, я так думаю, я могу ошибаться.
В случае, если я прав, мне интересно, как я могу сделать эту печать асинхронной, то есть она запускает данные в gzip и затем продолжает обрабатыватьданные.