이를 실행하면 다음 결과가 나옵니다.
Took 1358 milliseconds.
앞 경우보다 훨씬 빨리 실행이 끝나는 것을 알 수 있습니다. 이번에는 MaxCount를 크게 올린 후에 CPU 사용량을 측정해 보겠습니다.
▲ 그림 1-25 CPU 사용량 확인
이 경우는 하이퍼스레드 4코어 CPU라서 8코어 성능을 내는 기기입니다. 그래서 4코어를 사용하는 성능을 보여 주므로 50%로 표시되는 것입니다. 코드에서 ThreadCount = 8로 설정하면 100% CPU를 사용한다고 나올 것입니다.
그런데 스레드가 하나일 경우 실행 시간이 3900밀리초 정도인데, 스레드가 4개일 때는 1300밀리 초가 나왔네요? 이론적으로는 4배 빨라야 할 것 같은데 실제로는 3배만 빠릅니다. 어떻게 된 일일까요?