Intel TBB를 사용하는 일부 코드가 있으며 32 코어 컴퓨터에서 실행됩니다. 코드에서 나는Intel Parallel Studio 타이밍 불일치
parallel_for (left_image_width-2 blocked_range (2, left_image_width/32) ...
더 경쟁 조건이없는, 동시 작업을 할 스레드 (32)를 생성하기 위해 사용하고 각 스레드입니다 clock_t를 사용하여 프로그램 시간을 측정합니다. 특정 이미지의 경우 완료하는 데 약 19 초가 걸립니다.
그런 다음 인텔 패러렐 스튜디오를 통해 코드를 실행하고 실행했습니다. 2 초 만에 코드. 이것은 내가 기대했던 결과이지만 두 가지 사이에 큰 차이가있는 이유를 알 수 없습니다 .tim_t는 모든 코어에서 클럭주기를 합친 것입니까? 그렇다면 그것은 이해가되지 않습니다. 아래 문제의 스 니펫입니다.
clock_t begin=clock();
create_threads_and_do_work();
clock_t end=clock();
double diffticks=end-begin;
double diffms=(diffticks*1000)/CLOCKS_PER_SEC;
cout<<"And the time is "<<diffms<<" ms"<<endl;
어떤 조언을 주시면 감사하겠습니다.