Efficienza Grand Central Dispatch

-2

Eseguendo un programma di ray tracing come singolo thread su un processore quad-core iMac, l'utilizzo della CPU è del 12%. OK, quindi uno degli iper-thread Intel è stato assegnato al 100% al processo. Quando viene utilizzato GCD, il programma viene completato in un quarto del tempo, ma sta consumando più del 90% della disponibilità del processore. Sembrerebbe che tutti e otto gli HT di iCore siano stati assegnati al processo. Quindi, perché l'app viene eseguita solo quattro volte più velocemente e non otto volte più velocemente?

    
posta Mike Kidd 19.04.2016 - 09:43
fonte

1 risposta

2

L'hyper threading è strano. Se hai quattro core + iper threading Mac, hai quattro core che possono eseguire un thread alla velocità del 100% o due thread al 60% della velocità (se sei fortunato). Questo dovrebbe essere abbastanza informazioni per fare i conti.

Se usi un laptop, la tua velocità di clock è limitata dal calore. Quindi potresti essere in grado di utilizzare un core a 3GHz per sempre, ma se usi quattro core allora la velocità di clock potrebbe essere ridotta a 2GHz dopo un po 'di tempo per limitare il calore prodotto. Tenerlo in considerazione pure.

    
risposta data 19.04.2016 - 16:54
fonte

Leggi altre domande sui tag