Devo implementare un algoritmo standard a un unico produttore. Posso implementarlo usando Queue
e un paio di dichiarazioni lock
facilmente. O posso semplicemente usare ConcurrentQueue
. Cos'è meglio?prestazioni di ConcurrentQueue vs Queue + lock
Se si utilizza Queue + lock
, è possibile ottimizzare "aggiunta/retreival multiple", poiché è possibile effettuare il comando lock
una volta e quindi Add
molte volte.
Che cosa è più veloce nel caso generale - ConcurrentQueue
o Queue + lock
e quanto è la differenza? Ovviamente lo ConcurrentQueue
è il modo più veloce per andare avanti, ma non voglio perdere un sacco di prestazioni mentre sto usando questo nell'applicazione di trading HFT.
Innanzitutto, la prestazione è correlata al numero di CPU. È difficile valutare le prestazioni dell'applicazione multithreading in alcune modalità astratte. – user1929959
Che dire della misurazione nel proprio ambiente? Posso darti dei numeri che dimostrano tutto quello che vuoi sulla mia macchina. –