Executei dois benchmarks triviais em Powershell e C. Executei isso em um i7-2600 razoavelmente bem dotado com 16 Gig Win 7 Pro.
Ambos rodaram usando dois dos 8 núcleos (na verdade, 4 núcleos dual hyper threaded) e rodaram com picos variando de 40% a 70% de utilização durante seu tempo de execução (30 a 60 segundos). O resto do sistema estava silencioso, mas em um domínio e ambos os ambientes de desenvolvimento estavam abertos, assim como o Firefox. A atividade em segundo plano antes e depois das execuções consumia de 1,5% a 2,5% da disponibilidade total da CPU.
O que está acontecendo no Windows que limita esses processos vinculados à computação de fixar a CPU em pelo menos os núcleos em que são executados.
Isso foi para uma demonstração instantânea que fiz e esperava que a CPU fixasse em 100%.
Powershell
$a = 1
"Starting Loop"
get-date
DO
{
$a++
} While ($a -le 50000000)
get-date
C
#include <stdio.h>
#include <time.h>
int main (void) {
long long a;
time_t mytime;
mytime = time(NULL);
printf(ctime(&mytime));
/* for loop execution */
for( a = 1; a < 100000000000; a = a + 1 ){
}
mytime = time(NULL);
printf(ctime(&mytime));
return 0;
}