Ho un file xml che deve essere letto da molte molte volte. Sto cercando di utilizzare Parallel.ForEach per accelerare questo processo poiché nessuno di quei dati letti è rilevante per l'ordine in cui viene letto. I dati vengono semplicemente utilizzati per popolare gli oggetti. Il mio problema è anche se sto aprendo il file ogni volta nel thread in quanto letto solo si lamenta che è aperto da un altro programma. (Non l'ho aperto in un editor di testo o altro :))Più thread che leggono dallo stesso file
Come posso eseguire più letture dallo stesso file?
MODIFICA: il file è ~ 18KB piuttosto piccolo. Si legge da circa 1800 volte.
Grazie
Il disco rigido ha ancora solo una testina in modo da poter eseguire solo una lettura alla volta. Che miglioramento delle prestazioni ti aspetti da questo? – Daniel
Il file si adatta alla cache del disco? Se è così, quindi più letture sarà veloce, altrimenti se il file è abbastanza piccolo da adattarsi alla memoria, quindi utilizzare un file mappato in memoria invece e leggere da quello. In caso contrario, il disco rigido impiegherà molto tempo a battere piuttosto che eseguire letture sequenziali e perderai le prestazioni piuttosto che ottenerle. – mdma
Una testa su un disco rigido? Sono abbastanza sicuro che anche le unità a singolo piatto abbiano più teste in questi giorni, così come il caching, ecc. Che risolvono rallentamenti specifici della testa. – GrayWizardx