Q1. CPU를 소비하지 않지만 여전히 우수한 성능을 달성하는 코드를 작성하는 모범 사례는 무엇입니까? 질문은 매우 일반적입니다. 여기서 내가 추구하는 것은 다른 환경에 사용되는 다른 관행을 나열하는 것입니다. 프로세스 모니터/작업 관리자 외에 디버깅 팁CPU 사용
EDIT : IO 바인딩 프로세스에 대해 언급하지 않았습니다. 나는 CPU 바인딩 프로세스에 대해 말하고있다. 하지만 여기에서는 프로세스가 CPU를 계속 사용하는 것을 원하지 않습니다. 4 코어 머신이 있고 프로세스 내에서 4 개의 간단한 루프를 실행하는 경우 CPU 사용량은 응용 프로그램/프로세스가 실행될 때까지 최대 400 %까지 증가합니다.
저는 모두가 언젠가 직면하게 될 주제에 대한 경험을 찾고 있습니다. 예 : 존재하지 않는 파일을 검색하기 위해 반복적으로 루핑 할 때 응용 프로그램이 Windows에서 CPU를 호깅하면 디버깅했습니다.
두 개의 서로 다른 CPU 바운드 응용 프로그램이 원활하게 실행되는 방식으로 프로그램을 작성할 수 있습니까?
UPDATE : 제안 :
는 최적화 후 응용 프로그램을 프로파일 링하고, 좋은 깨끗한 코드를 작성합니다. (팁을 주셔서 감사합니다)
프로파일 링 및 리펙터 코드를 프로파일 링 및 수정하는 것보다 쉽게 재 작성/리펙터링 코드를 작성할 수 있습니다.
는
가
긴 대기
는 이러한 제안은 초보자를 위해 먼 길을 갈
알고리즘 선택에 스레드 스핀 락을 사용하지 마십시오 응용 프로그램 디버깅하기 위해 프로파일 러를 사용하여 개념을 이해하기.
이것은 너무 모호한 질문입니다. – n3rd
당신은 더 구체적이어야합니다. 예를 들어, IO 바운드는 CPU를 많이 소비하지 않고 실행하는 데 오랜 시간이 걸릴 수 있습니다. 메모리에 바인딩 된 모든 것이 더 많은 CPU를 소비하지만 빠르게 실행될 수 있습니다. 그것은 모두 당신의 노력과 당신이 사용하고있는 알고리듬에 달려 있습니다. – Sean