¿Por qué estos puntos de referencia NO saturan la CPU?

¿Por qué estos puntos de referencia NO saturan la CPU?

Ejecuté dos pruebas triviales en Powershell y C. Ejecuté esto en un i7-2600 razonablemente bien dotado con 16 Gig Win 7 Pro.

Ambos se ejecutaron utilizando dos de los 8 núcleos (en realidad, 4 núcleos con doble hiperproceso) y se ejecutaron a un ritmo muy intenso, con una utilización de más del 40% al 70% durante su tiempo de ejecución (30 a 60 segundos). El resto del sistema estaba silencioso pero en un dominio y ambos entornos de desarrollo estaban abiertos al igual que Firefox. La actividad en segundo plano antes y después de las ejecuciones utilizaba entre el 1,5% y el 2,5% de la disponibilidad total de la CPU.

¿Qué está sucediendo en Windows que limita que estos procesos vinculados a la computación fijen la CPU al menos en los núcleos en los que se ejecutan?

Esto fue para una demostración sobre la marcha que hice y esperaba que la CPU funcionara al 100%.

Potencia Shell

$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;
}    

información relacionada