Tengo un programa que lee datos de 2 archivos de texto y luego guarda el resultado en otro archivo. Dado que hay muchos datos para leer y escribir que causan un golpe de rendimiento, quiero paralizar las operaciones de lectura y escritura.Cómo paralelizar la lectura y escritura de archivos
Mi idea inicial es usar 2 hilos como ejemplo, un hilo de lectura/escritura desde el principio y otro hilo de lectura/escritura desde la mitad del archivo. Como mis archivos están formateados como líneas, no como bytes (cada línea puede tener diferentes bytes de datos), buscar por byte no me funciona. Y la solución en la que podría pensar es use getline() para omitir las líneas anteriores primero, lo que podría no ser eficiente.
¿Hay alguna manera de buscar una línea específica en un archivo? o ¿tiene alguna otra idea para paralizar la lectura y escritura de archivos?
Medio Ambiente: Win32, C++, NTFS, solo disco duro
Gracias.
-Dbger
¿Cuál es su sistema de archivos y qué hardware usa? si solo tiene un controlador/disco, puede que no sea eficiente hacer E/S paralelas – Anycorn
, entonces ¿eso significa que paralizar la E/S del disco siempre causará una degradación del rendimiento si solo se lee/escribe en el mismo disco? –
Dbger: si usa un disco duro, sí. – Mike