C#에서 내 응용 프로그램에서 사용하는 전력을 최대화하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/716261

  •  23-08-2019
  •  | 
  •  

문제

계산에 어려움을 겪고있는 응용 프로그램을 만들었을 때 -> 많은 작업이 매우 복잡한 계산이 아닙니다.> 작업을 수행하는 데 너무 오래 걸리고 프로세스는 CPU의 45%에 불과합니다. 어떻게 든 최대화 할 수 있습니까? : 90%로 가려면?

도움이 되었습니까?

해결책

듀얼 코어 머신이 있다면 (내가 추측하고있는) 단일 스레드에 들어가기를 희망하는 것은 50% CPU 사용이 될 것입니다.

90% CPU 사용을 얻으려면 계산을 삭제해야합니다. 이는 스레드를하려는 알고리즘의 특성에 따라 매우 간단하거나 매우 어려울 수 있습니다.

작업 세트를 여러 그룹으로 분해 할 수 있다면 사용을 고려하는 것이 좋습니다. 스레드 풀, 또는 잠재적으로도 작업 병렬 라이브러리, 출시 타이밍에 따라.

다른 팁

듀얼 코어 CPU가있을 가능성이 높으며 앱이 단일 스레드 인 경우 사용하는 최대 CPU는 50% (하나의 코어)입니다. 더 잘 활용하려면 여러 스레드를 사용해야하지만 이는 계산을 하나 이상의 코어로 작업 할 수 있도록 계산을 조각으로 나누는 방법을 파악하는 것도 의미합니다.

이것을 확인하십시오 :

  1. 계산하는 동안 디스크에서 읽습니까? 그렇다면 계산하기 전에 메모리의 데이터를 읽으십시오.
  2. 계산하는 동안 디스크 나 콘솔에 결과를 작성합니까? 그렇다면 계산이 끝날 때까지 글쓰기를 연기하고 글을 쓰십시오.
  3. 멀티 코어 프로세서가있는 경우 가능한 경우 멀티 스레드 알고리즘을 작성하십시오.

계산을하는 간단한 루프 만 있으면 컴퓨터에 두 개의 코어/프로세서가있을 가능성이 높습니다. 단일 스레드 응용 프로그램은 CPU의 50%를 최대한 활용합니다.

멀티 코어 머신에서 전체 CPU를 사용하려면 여러 스레드가 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top