Ruby чтение файлов параллельно
У меня есть файл с большим количеством строк (скажем, 1 миллиард). Скрипт перебирает все эти строки, чтобы сравнить их с другим набором данных.
Поскольку в данный момент он работает на 1-поточном / 1-м ядре, мне интересно, могу ли я запустить несколько форков, каждый из которых обрабатывает часть файла одновременно.
Единственное решение, которое пришло мне в голову, этоsed
команда unix. С помощью sed можно читать «кусочки» файла (от строки x до строки y). Таким образом, пара вилок может обрабатывать выходные данные соответствующих сборов. Однако проблема в том, что Ruby сначала загрузит весь вывод sed в RAM.
Есть ли лучшие решения для этого, чем sed, или есть способ «направить» вывод sed в Ruby?