Page 25 -
P. 25

auto t1 = chrono::system_clock::now();
                          auto duration = chrono::duration_cast<chrono::milliseconds>(t1 - t0).count();
                          cout << "Took " << duration << " milliseconds." << endl;
                                                                                                      1
                          PrintNumbers(primes);
                      }                                                                               멀티스레딩


                    이 프로그램을 실행하면 소수를 계산하는 데 걸린 시간을 표시합니다.

                      Took 3920 milliseconds.


                    MaxCount를 훨씬 큰 수로 바꾼 후 실행해 봅시다. 프로그램이 실행을 완료하는 데 오랜 시간이 걸

                    릴 것입니다. 그동안 작업 관리자 창을 열고 컴퓨터가 사용하는 CPU 사용률을 볼까요? 논리 프
                    로세서 8코어 기기에서는 그림 1-14와 같이 전체 CPU 성능의 1/8밖에 사용하지 못할 것입니다.

                       그림 1-14 소수 구하기 때문에 CPU 전체를 쓰지 못하는 상황






























                    그림 1-15는 이 상황을 그림으로 표현한 것입니다.











                                                                                                  033
   20   21   22   23   24   25   26   27   28   29   30