Alcuni anni fa, nell'ambiente Windows, ho eseguito alcuni test, lasciando che più istanze di calcolo della CPU intensivo + intensivo di accesso alla memoria + I/O accedano all'esecuzione intensiva dell'applicazione. Ho sviluppato 2 versioni: una è in esecuzione in multi-processing, un'altra è in esecuzione in multi-threading.Differenza di prestazione per multi-thread e multi-processo
Ho trovato che le prestazioni sono molto migliori per la multielaborazione. Ho letto da qualche altra parte (ma non riesco a ricordare il sito).
cui si afferma che il motivo è che in multi-threading, stanno "combattendo" per una singola pipeline di memoria e di conduttura I/O, il che rende peggiore è la performance rispetto al multi-processing
Tuttavia, Non riesco più a trovare quell'articolo Mi chiedevo, fino ad oggi, se il basso valesse ancora?
In Windows, avendo il codice di esecuzione dell'algoritmo sotto multi-processing, c'è un'alta probabilità che le prestazioni saranno meglio di multi-threading.
Um, solo perché gli spazi degli indirizzi virtuali sono in modalità sandbox non ti dice molto sul loro layout nella memoria fisica. Dipende da quanto sono grandi le richieste VirtualAlloc (o qualsiasi altra cosa) e se i processi/thread stanno eseguendo operazioni di load-store vicino ai limiti di detti blocchi. –