Sto cercando di eseguire quanto segue per migliaia di elementi:
1) ottiene i dati delle serie temporali per un oggetto dal file 2) calcolare la media e la deviazione standard 3) calcolare il calcolo finale utilizzando la media e la deviazione standard 4) aggiungi valore all'elenco
Attualmente il file è un enorme CSV di tutti gli elementi e tutte le date, quindi non c'è molto da usare per il multithreading, quindi lo caricherò in memoria.
Mi piacerebbe fare i calcoli tramite multithreading e spero di usare la TPL ( Task Parallel Library ) .
Ho una buona idea su come farlo, ad esempio potrei usare un parallelo per ognuno e fare quanto segue:
1) ottieni i dati delle serie temporali per articolo specifico 2) calcolare la media 3) calcola la deviazione standard 4) calcolare il calcolo finale 5) aggiungi al dizionario thread-safe
Anche se questo è multithreaded è ancora molto sequenziale all'interno del thread stesso, quindi ho pensato che quanto segue sarebbe stato meglio:
Coda per il recupero dei dati di timeseries Coda per gli articoli da elaborare per media e deviazione standard Coda per gli articoli da elaborare per il calcolo finale
Coppia di thread per coda che raccolgono e lavorano su ciascun elemento.
Fondamentalmente ci saranno molti benefici in me avere più controllo o dovrò semplicemente usare il parallelo per ognuno?