Ho un lavoro imbarazzante-parallelizzabile in un'app console .NET 3.5 e voglio sfruttare i processori hyperthreading e multi-core. Come scegliere il miglior numero di thread di lavoro per utilizzare uno di questi il meglio su un sistema arbitrario? Ad esempio, se si tratta di un dual core, desidero 2 thread; quad core Voglio 4 thread. Quello che sto alla fine è determinare le caratteristiche del processore, così posso sapere quanti thread creare.Come scegliere il miglior numero di thread per hyptherthreading/multicore?
Non sto chiedendo come suddividere il lavoro né come eseguire il threading, mi sto chiedendo come faccio a determinare il numero "ottimale" dei thread su una macchina arbitraria su cui verrà eseguita questa console.
Il numero "ottimale" non è necessariamente il numero di processori che possiedi. Si basa su questo, ma a seconda di cosa stai facendo, i thread non saranno sempre in elaborazione, quindi avere più thread rispetto ai processori è spesso più efficiente. –