통계 성능 회귀 하니스

네이티브 콘솔 하니스는 Win32 및 Win64 모두에서 HotPDF를 측정하고, 워크로드가 버전 지정 임계값을 초과하면 실패 프로세스 상태를 반환합니다

게이트 실행

Tests\Performance\Run-HotPDFPerformance.bat

python tools\validate_performance_report.py ^
  Tests\Performance\Reports\performance-Win32.json ^
  Tests\Performance\Reports\performance-Win64.json

배치 파일은 릴리스 러너를 빌드하고, 워크로드당 3회 워밍업 후 30회 측정 샘플을 수행하고, Tests\Performance\thresholds.json을 적용하며, Tests\Performance\Reports 아래에 플랫폼별 보고서 하나를 씁니다

스케줄러 경합과 관련 없는 프로세스 I/O가 측정에 의도적으로 보이기 때문에, 유휴 머신에서 게이트를 격리 실행합니다

워크로드

픽스처는 고정 PDF 바이트와 고정된 SHA-256 정체성을 가지므로, 입력 변경이 조용히 이전 임계값을 재사용할 수 없습니다

보고서 스키마

hotpdf.performance.v1은 제품 및 하니스 버전, UTC 타임스탬프, 웜 캐시 상태, 환경, 픽스처 정체성, 원시 샘플, 요약, 적용된 임계값, 실패 및 전체 통과 상태를 기록합니다

각 요약은 최소, 최근접 순위 p50 및 p95, 최대, 산술 평균, N-1 표본 분산, 표준 편차, 관측 및 프로세스 최대 RSS, 최대 양의 작업 집합 증가 및 총 읽기, 쓰기 및 기타 프로세스 I/O를 포함합니다

검증기는 원시 샘플에서 타이밍 통계, RSS, I/O 합계, 임계값 결정 및 집계 통과 상태를 독립적으로 재계산합니다

러너 옵션 및 종료 코드

HotPDFPerformanceRunner.exe \
  --output=report.json \
  --thresholds=thresholds.json \
  --warmup=3 \
  --samples=30

--samples는 30보다 낮을 수 없고 --warmup은 1보다 낮을 수 없습니다

임계값 유지 관리

p50, p95, 관측 RSS, 작업 집합 증가, 읽기 바이트 및 쓰기 바이트에 대해 별도의 Win32 및 Win64 상한을 유지합니다

원시 샘플, 머신 조건, 픽스처 정체성, 구현 의도 및 두 플랫폼에서 반복된 격리 실행을 검토한 후에만 임계값을 개정합니다

추가 정보: 확장 가능 및 랜덤 액세스 PDF 로딩, 범위 기반 단순 객체 파싱, 렌더링 진단 및 작업 원격 측정