Статистичний каркас регресійної перевірки продуктивності

Рідний консольний каркас вимірює HotPDF на Win32 і Win64 і повертає невдалий статус процесу, коли робоче навантаження перевищує версійований поріг

Запуск воріт

Tests\Performance\Run-HotPDFPerformance.bat

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

Пакетний файл будує збірки release, виконує три прогріви, а потім 30 виміряних зразків на робоче навантаження, застосовує Tests\Performance\thresholds.json і записує один звіт на платформу в Tests\Performance\Reports

Запускайте ворота ізольовано на інакше простій машині, оскільки контенція планувальника та незв'язаний введення-вивід процесів навмисно видимі для вимірювань

Робочі навантаження

Фікстура має фіксовані байти PDF і закріплену ідентичність SHA-256, тому зміна введення не може мовчки повторно використати старі пороги

Схема звіту

hotpdf.performance.v1 записує версії продукту та каркасу, часову позначку UTC, стан теплого кешу, середовище, ідентичність фікстури, необроблені зразки, підсумки, застосовані пороги, помилки та загальний стан проходження

Кожен підсумок містить мінімум, p50 і p95 найближчого рангу, максимум, середнє арифметичне, дисперсію зразків N-1, стандартне відхилення, спостережуваний і піковий RSS процесу, максимальний додатній приріст робочого набору, а також загальне читання, запис та інший введення-вивід процесів

Валідатор незалежно переобчислює з необроблених зразків статистику часу, RSS, суми введення-виводу, рішення порогів і сукупний стан проходження

Опції виконавця та коди виходу

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

--samples не може бути нижчим за 30, а --warmup не може бути нижчим за один

Обслуговування порогів

Тримайте окремі стелі Win32 і Win64 для p50, p95, спостережуваного RSS, приросту робочого набору, байтів читання та байтів запису

Переглядайте поріг лише після перегляду необроблених зразків, умов машини, ідентичності фікстури, наміру реалізації та повторних ізольованих запусків на обох платформах

Див. також: Масштабоване завантаження PDF із довільним доступом, Розбір простих об'єктів на основі зрізів, Діагностика рендерингу та телеметрія операцій