Ruby archivo de lectura paralelismo
Tengo un archivo con muchas líneas (digamos 1 billón). Un script está iterando a través de todas esas líneas para compararlas con otro conjunto de datos.
Dado que esto se está ejecutando en 1 subproceso / 1 núcleo en este momento, me pregunto si podría iniciar varias bifurcaciones, cada una procesando una parte del archivo simultáneamente.
La única solución que me vino a la mente hasta ahora es lased
comando de unix Con sed es posible leer los "cortes" de un archivo (línea x a línea y). Entonces, un par de bifurcaciones podrían procesar la salida de los seds correspondientes. Sin embargo, el problema es que Ruby cargaría primero la salida sed completa en la RAM.
¿Hay mejores soluciones para esto que sed, o hay una manera de "transmitir" la salida de sed a Ruby?