"답은 여전히 그렇습니다."당신이하고있는 것에 달려 있습니다. "
예, 점점 더 많은 코어를 추가하면 수익이 줄어들고 한 번에 하나의 응용 프로그램 만 실행하는 경우 항상 있습니다 .
잘 만들어진 다중 스레드 응용 프로그램에서도 스레드 된 많은 작업은 사용자에게 명백한 성능에 영향을 미치지 않으면 서 컴퓨터에서 가장 느린 구성 요소 (하드 드라이브, 네트워킹)를 기다릴 수 있도록 수행됩니다. 더 큰 병렬화로 이러한 기능을 향상시킬 수 없으므로 이론적 인 속도 제한은 실제 목적으로는 달성 할 수 없습니다.
멀티 스레드가 아닌 "큰"응용 프로그램이 거의 없다는 점에 주목할 가치가 있습니다 (OS의 작업 관리자에 해당하는 항목을 확인하십시오. 각 프로세스에 얼마나 많은 수의 응용 프로그램이 있는지 알려줄 수 있어야합니다-Firefox는 현재 31을 사용하고 있습니다) ).
물론 여러 개의 비 독립 응용 프로그램을 실행하는 것은 이러한 제한에 의해 제한되지 않습니다. 코어를 추가할수록 처리 성능이 거의 떨어지지 않으면 서 더 많은 응용 프로그램을 동시에 실행할 수 있습니다 (하드 드라이브, 네트워킹 등의 성능은 그다지 우수하지 않습니다). 실제로 코어, 통신 파이프 라인 등의 작업 분배를 관리하는 데 불가피한 오버 헤드가 있기 때문에 이것조차도 수익을 감소시킬 수 있습니다.
예를 들어, 이 톰의 하드웨어 후 (2009 년) 시도는 동시 응용 프로그램에서 몇 가지 멀티 코어 프로세서의 성능을보고 - 측면을 따라 게임을 실행하는 AVG 스캔 (아마 둘 다 멀티 스레드). 4 중, 3 중 및 이중 코어 프로세서는 모두 게임과 유사하게 작동하지만 동시 AVG 스캔과 성능 (평균 FPS로 측정)이 각각 22 %, 40 % 및 59 % 감소합니다.
따라서 하나의 집중적 인 응용 프로그램을 실행할 때 쿼드 코어가 이중 코어에 비해 성능 향상을 제공하지는 않았지만 다른 집중적 인 작업이 나타나면 즉시 두 배의 성능을 보였습니다. 불행히도 더 많은 코어와 더 집중적 인 작업으로 이것이 얼마나 잘 확장되는지 조사하는 다른 것을 찾을 수 없습니다.
그리고 인텔 터보 부스트 / AMD 터보 코어와 같은 프로세서의 최신 기능에 주목해야합니다. 이러한 특정 기능을 통해 멀티 코어 프로세서가 코어를 파킹하고 (느린 저전력 모드로 전환) 여분의 에너지를 사용하여 활성 상태 인 코어를 오버 클럭하여 프로세서가 자체적으로 많은 처리 능력을 제공하도록 최적화 할 수 있습니다 제공되는 작업 수에 대해 가능한 한