현재 애플리케이션의 런타임 특성을 이전 버전과 비교하는 것은 성능 저하를 방지하기 위한 일반적인 품질 보증 기법입니다. 또한 단일 프로파일링 세션 범위 내에서 성능 문제를 해결할 때도 유용할 수 있으며, 서로 다른 두 가지 사용 사례를 비교하여 어느 한쪽이 다른 쪽보다 느린 이유를 파악할 수 있습니다. 두 경우 모두 관심 있는 기록 데이터가 포함된 스냅샷을 저장한 다음, 메뉴에서 세션→새 창에서 스냅샷 비교를 실행하거나 시작 센터의 스냅샷 열기 탭에서 여러 스냅샷 비교 버튼을 클릭하여 JProfiler의 스냅샷 비교 기능을 사용할 수 있습니다.
스냅샷 선택
비교는 별도의 최상위 창에서 생성되고 표시됩니다. 먼저 스냅샷 선택기에서 여러 스냅샷을 추가합니다. 그런 다음 관심 있는 스냅샷을 선택하고 비교 툴바 버튼을 클릭하여 나열된 스냅샷 중 둘 이상으로 비교를 생성할 수 있습니다. 모든 비교에서는 목록의 아래쪽에 있는 스냅샷이 더 나중에 기록된 것으로 간주하므로 목록 내 스냅샷 파일의 순서가 중요합니다. 스냅샷을 수동으로 정렬하는 것 외에도 이름이나 생성 시간순으로 정렬할 수 있습니다.
매개변수를 즉각적으로 조정할 수 있는 드롭다운 목록이 제공되는 JProfiler 기본 창의 뷰와 달리, 비교 뷰에는 상단에 고정된 뷰 매개변수가 표시됩니다. 모든 비교에는 비교에 필요한 매개변수를 수집하기 위한 마법사가 표시되며, 동일한 매개변수로 동일한 비교를 여러 번 수행할 수 있습니다. 마법사는 이전 실행 시의 매개변수를 기억하므로 여러 스냅샷 세트를 비교할 때 구성을 반복할 필요가 없습니다. 언제든지 완료 버튼으로 마법사를 바로 마치거나 색인에서 해당 단계를 클릭하여 다른 단계로 건너뛸 수 있습니다.
비교가 활성화되면 분석된 스냅샷이 숫자 접두사와 함께 표시됩니다. 두 개의 스냅샷으로 작동하는 비교의 경우, 표시되는 차이값은 스냅샷 2의 측정값에서 스냅샷 1의 측정값을 뺀 값입니다.
CPU 비교의 경우 동일한 스냅샷을 첫 번째 및 두 번째 스냅샷으로 사용하고 마법사에서 서로 다른 스레드 또는 스레드 그룹을 선택할 수 있습니다.
테이블을 사용한 비교
가장 단순한 비교는 "객체" 메모리 비교입니다. 힙 워커의 "모든 객체", "기록된 객체" 또는 "클래스" 뷰의 데이터를 비교할 수 있습니다. 비교의 열에는 인스턴스 수 및 크기의 차이가 표시되지만, 인스턴스 수 열에만 양방향 막대 차트가 표시되어 증가는 빨간색으로 오른쪽에, 감소는 녹색으로 왼쪽에 표시됩니다.
뷰 설정 대화상자에서 이 막대 차트에 절대적 변화량을 표시할지 백분율을 표시할지 선택할 수 있습니다. 다른 값은 괄호 안에 표시됩니다. 이 설정은 열이 정렬되는 방식도 결정합니다.
첫 번째 데이터 열의 측정값을 기본 측정값이라고 하며, 뷰 설정에서 기본값인 인스턴스 수에서 얕은 크기(shallow size)로 전환할 수 있습니다.
테이블의 컨텍스트 메뉴를 사용하면 동일한 비교 매개변수를 적용하여 선택한 클래스에 대한 다른 메모리 비교로 바로 이동할 수 있습니다.
객체 비교와 마찬가지로 CPU 핫스팟, 프로브 핫스팟 및 할당 핫스팟 비교도 유사한 테이블에 표시됩니다.
트리를 사용한 비교
CPU 호출 트리, 할당 호출 트리 및 프로브 호출 트리 각각에 대해 선택한 스냅샷 간의 차이를 보여주는 또 다른 트리를 계산할 수 있습니다. 일반적인 호출 트리 뷰와 달리 인라인 막대 다이어그램에 변화량이 표시되며, 증가는 빨간색, 감소는 녹색으로 표시됩니다.
수행할 작업에 따라 두 스냅샷 파일 모두에 존재하면서 한 스냅샷 파일에서 다른 스냅샷 파일로 변경된 호출 스택만 표시하면 분석이 더 쉬워질 수 있습니다. 뷰 설정 대화상자에서 이 동작을 변경할 수 있습니다.
CPU 및 프로브 호출 트리 비교의 경우 총 시간 대신 평균 시간을 비교하는 것이 유용할 수 있습니다. 이는 마법사의 "뷰 매개변수" 단계에 있는 옵션입니다.
텔레메트리 비교
텔레메트리 비교의 경우 둘 이상의 스냅샷을 동시에 비교할 수 있습니다. 스냅샷 선택기에서 스냅샷을 선택하지 않으면 마법사는 모든 스냅샷을 비교하려는 것으로 간주합니다. 텔레메트리 비교에는 시간 축이 없으며, 번호가 매겨진 선택된 스냅샷이 순서형 x축으로 대신 표시됩니다. 툴팁에는 스냅샷의 전체 이름이 포함됩니다.
비교 시 각 스냅샷에서 하나의 숫자를 추출합니다. 텔레메트리 데이터는 시간 분해되므로 여러 가지 추출 방식이 있습니다. 마법사의 "비교 유형" 단계에서는 스냅샷이 저장되었을 때의 값을 사용하거나, 최댓값을 계산하거나, 선택한 북마크에서의 값을 찾는 옵션을 제공합니다.

























