Warum belasten diese Benchmarks die CPU NICHT?

Warum belasten diese Benchmarks die CPU NICHT?

Ich habe zwei triviale Benchmarks in Powershell und C ausgeführt. Ich habe dies auf einem recht gut ausgestatteten i7-2600 mit 16 GB Win 7 Pro ausgeführt.

Beide liefen mit zwei der acht Kerne (eigentlich 4 Kerne mit Dual-Hyper-Threading) und zeigten sehr hohe Spitzenwerte mit einer Auslastung von über 40 % bis 70 % während der Laufzeit (30 bis 60 Sekunden). Der Rest des Systems war ruhig, aber in einer Domäne, und beide Entwicklungsumgebungen waren geöffnet, ebenso wie Firefox. Die Hintergrundaktivität vor und nach den Läufen nutzte 1,5 % bis 2,5 % der gesamten CPU-Verfügbarkeit.

Was passiert in Windows, das diese rechenintensiven Prozesse daran hindert, die CPU zumindest auf den Kernen zu fixieren, auf denen sie ausgeführt werden?

Dies war für eine spontane Demo, die ich durchgeführt habe, und bei der ich davon ausgegangen bin, dass die CPU bei 100 % ausgelastet ist.

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

verwandte Informationen