Ho un programma che legge i dati da 2 file di testo e quindi salvare il risultato in un altro file file. Dato che ci sono molti dati da leggere e scrivere che causano un successo nelle prestazioni, voglio parallelizzare le operazioni di lettura e scrittura.Come parallelizzare la lettura e la scrittura
Il mio primo pensiero è, utilizzare 2 fili come un esempio, un thread di lettura/scrittura fin dall'inizio, e un altro thread di lettura/scrittura a partire dalla metà del file. Poiché i miei file sono formattati come linee, non come byte (ogni riga può avere diversi byte di dati), la ricerca per byte non funziona per me. E la soluzione che potrei pensare è usare getline() per saltare prima le righe precedenti, il che potrebbe non essere efficiente.
C'è un buon modo per cercare di una linea specificata in un file? o hai altre idee per mettere in parallelo la lettura e la scrittura di file?
Ambiente: Win32, C++, NTFS, singolo disco rigido
Grazie.
-Dbger
qual è il tuo filesystem e quale hardware usi? se si dispone di un solo controller/disk, potrebbe non essere efficace per farlo I paralleli/O – Anycorn
è così che significa parallize disco I/O sarà sempre causare un degrado delle prestazioni se solo lettura/scrittura sullo stesso disco? –
Dbger: se si utilizza un disco rigido, sì. – Mike