여러 프로세서에서 실행되는 병렬 알고리즘을 분석 중입니다.C/C++ - 장기 실행 작업 시뮬레이션
그러나 단순한 것이므로 효과적인 속도 향상을 분석하려면 장기 실행 작업을 시뮬레이트해야합니다.
sleep()/usleep() 옵션이 아닙니다. 다른 슬레이브가 잠자기 상태 일 때 슬레이브 프로그램이 작동하지 않도록 CPU를 계속 사용해야합니다. 여기서 속도 향상이 잘못되었습니다.
for-loop 용으로 긴 비어있는 옵션입니다. 그러나 나는 또한 작업 시간을 명시 적으로 설정하려고합니다.
이러한 두 가지를 결합하거나 다른 방법으로 시간이 오래 걸리는 긴 동작을 얻을 수있는 방법이 있습니까?
감사합니다. 나는 그것을 시도 할 것이다. – BinarySnow
하지만 (tv_begin.tv_sec * 1000000 + tv_begin.tv_usec) 계산을 한 번 해보고 잠깐 for-loop를 사용하여 gettimeofday를 좀처럼 호출하지 않는 것이 좋습니다. 내 프로그램은 실제로 CPU가 아닌 여러 코어에서 내 PC에서 실행됩니다. 그래서 나는 많은 노예들로부터 gettimeofday를 그렇게 자주 너무 열심히 부를 것이라고 생각합니다. – BinarySnow
실시간 클럭 레지스터 (CPU에 하나가있는 경우)를 사용하면 시스템을 너무 심하게로드하지 않을 수 있습니다. –