일반적으로 코드에 성능 문제가있는 경우 원인을 파악하기 위해 아래 단계를 수행합니다.프로그래밍 언어와 상관없이 일반적인 성능 문제는 무엇입니까?
- top 명령은 메모리 사용량을 볼 수 CPU의 사용
- 무료 명령을 볼 수 코드에
- 인쇄 진행 문
- 이 알고리즘을 이해하고 향상 코드에 타이밍 정보를
- 추가
코드가 매우 느리게 실행되는 경우 수행 할 작업은 무엇입니까? 당신이 그들을 발견 한 후 프로파일 러와
일반적으로 코드에 성능 문제가있는 경우 원인을 파악하기 위해 아래 단계를 수행합니다.프로그래밍 언어와 상관없이 일반적인 성능 문제는 무엇입니까?
코드가 매우 느리게 실행되는 경우 수행 할 작업은 무엇입니까? 당신이 그들을 발견 한 후 프로파일 러와
1), 코드
2)의 가장 느린 부분을 발견, 그들에게
2 단계에서 가장 어려운 향상을 위해 방법을 생각한다. 작은 변화가 필요하거나 모든 것을 다시 쓸 수 있습니다
Profiler을 사용하십시오. 리소스 병목 현상의 위치는 직관적이지 않을 수 있습니다.
글쎄, 예, 프로필이지만 이전 프로파일 러를 사용하지 마십시오.
스택에있는 코드 줄은 시간의 좋은 비율로 봐야합니다. 왜냐하면이 줄은 최적화를 통해 저장할 수있는 정도이기 때문입니다. 그들을 찾으려면
, 당신은이 때
당신이 (를 할 때, (I/O뿐만 아니라 CPU 시간 동안)좋은 것은 Zoom입니다.
아주 간단한 또 다른 방법은 random-pausing입니다.
정말 downvote 시간이었다! – BlackBear
@BlackBear : 얼마나 많은 [혼란스러운] 혼란 스러워요 (http://stackoverflow.com/questions/4387895/if-profiler-is-not-the-answer-what-other-choices-do-we-have/4390868 # 4390868)이 주제에 있습니다. 또한 [this] (http://stackoverflow.com/questions/1777556/alternatives-to-gprof/1779343#1779343). –
죄송합니다. 무작위 일시 중지에 대한 귀하의 답변을 의미합니다. 그리고 제가 동의합니다. 프로파일 러에 관한 문제는 좋은 것입니다. – BlackBear
가장 적합한 도구는 일반적으로 프로파일 러입니다. –
어쩌면 프로파일 러를 실행 하시겠습니까? –
질문의 제목에 답하기 위해 가장 일반적인 성능 문제는 특히 OOP 데이터 구조의 오버 디자인과 관련이 있습니다. –