프로그래밍

CPU에 따른, 프로그램에서의 효율적 스레드의 수

제페 2014. 5. 23. 05:58
반응형

하나의 프로그램에서 멀티 스레드를 사용할 때, [(하드웨어 스레드 컨텍스트 수 * 2) + 1]만큼을 사용하면 효율이 좋다고 한다.


C++11에서부터 지원하는 std::thread에 hardware_concurrency()라는 멤버 함수가 있는데 이는 하드웨어의 스레드 컨텍스트 수를 반환한다.

(만약, hardware_concurrency()를 사용할 수 없는 경우라면 0 을 반환)


CPU 하나에, 코어가 4개 달린 CPU를 사용중이라면 결과는 4가 나온다.

(하이퍼 스레딩 같은 기술을 지원한다면 결과가 다를 수 있다.)



출저: http://jacking.tistory.com/1061

반응형