私は、Powershell と C で 2 つの簡単なベンチマークを実行しました。これは、16 Gb の Win 7 Pro を搭載した、比較的高性能な i7-2600 で実行しました。
どちらも 8 コアのうち 2 つ (実際には 4 コアのデュアル ハイパー スレッド) を使用して実行され、実行時間 (30 ~ 60 秒) にわたって 40% ~ 70% の使用率で非常にピークに達しました。システムの残りの部分は静かでしたが、ドメイン上にあり、両方の開発環境が開いており、Firefox も開いていました。実行前後のバックグラウンド アクティビティは、合計 CPU 可用性の 1.5% ~ 2.5% を使用していました。
Windows では、これらの計算依存プロセスが、少なくともそれらが実行されるコアに CPU を固定することを制限しているのは何でしょうか。
これは私が行ったオンザフライのデモであり、CPU が 100% に固定されることが予想されました。
パワーシェル
$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;
}