Leitura paralela de leitura de arquivos Ruby

Eu tenho um arquivo com muitas linhas (digamos 1 bilhão). Um script é iterar todas essas linhas para compará-las com outro conjunto de dados.

Como isso está sendo executado em 1 thread / 1 core no momento, estou me perguntando se eu poderia iniciar vários forks, cada um processando uma parte do arquivo simultaneamente.

A única solução que me veio à mente até agora é ased comando unix. Com sed é possível ler "fatias" de um arquivo (linha x a linha y). Assim, alguns garfos poderiam processar a saída dos seds correspondentes. No entanto, o problema é que o Ruby carregaria toda a saída sed para a RAM primeiro.

Existem soluções melhores para isso do que sed, ou existe uma maneira de "transmitir" a saída sed para Ruby?

questionAnswers(2)

yourAnswerToTheQuestion