필자가 작성한 프로그램이 놀랍도록 느린 것으로 밝혀졌으며이를 해결하기 위해 프로필을 작성하려고합니다. 지금까지 나의 도구는 Yourkit과 hprof 였지만 아직 내가 추구하는 기능을 찾지 못했습니다.특정 패키지 용 스칼라/자바 프로파일 링
이상적으로 모든 소스 파일에 대해 MATLAB Profiler style heat-map을 사용하고 싶습니다. 색상이 강하면 그 라인에 더 많은 시간이 소요되었음을 나타냅니다. 나는 이것이 많이 묻는 것을 깨닫는다. 그래서 그것이 존재하지 않는다면 나는 놀라지 않을 것이다.
위와 같이 할 수 없다면 hprof cpu = samples 스타일 프로파일 링을 수행 할 수 있지만 프로젝트에서 실행되는 모든 클래스의 모든 메소드 목록을 뱉어내는 대신 (예 : Java. , scala.collection.)를 제외하고 예외가 제외 된 메서드에서 호출 된 스택의 가장 낮은 수준에 다시 할당되는 메서드에 기여한 시간을 가질 수 있습니다. 예를 들어, 나는 차라리 내 모든 시간이 sillyMethod에서,하지 Seq.equals에 소요되는 것을 알 것입니다 다음
def sillyMethod: Unit = {
0.until(1000000).map{ i =>
(0 until 1000).toSeq + 1) == (0 until 1000).toSeq + 2)
}
}
같은이있는 경우. 사용 가능한 프로파일 러를 사용하여이 작업을 수행 할 수 있습니까?
EDIT : 현재 실제 편집을 위해 내 명령과 IntelliJ IDEA를 실행하기 위해 sbt를 사용하고 있습니다.