Глоссарий

Справочник терминов, которые встречаются в документации, в выводе команд и в полях результатов. Где у термина есть канонический источник (файл правил или каталог), он назван: документация пересказывает, правду хранит файл.

Метрика и оценка

ТерминЧто означает
SMOPметодика оценки по четырём независимым осям: Syntax, Meaning, Optimization, Platform. Главный результат бенчмарка это вектор из четырёх осей, а не одно число
Ось S (Синтаксис)компилируется ли модуль. Вердикт даёт движок, который код исполняет: OneScript в категории A, компилятор 1С в категории B
Ось M (Смысл)решает ли код поставленную задачу. Считается долей пройденных скрытых тестов
Ось O (Оптимальность)как растёт цена решения с ростом входных данных. Меряется исполнением: число операций в категории A, число обращений к СУБД в категории B
Ось P (Платформа)верно ли код обращается к объектам 1С: справочникам, регистрам, реквизитам, виртуальным таблицам. Применима только к категории B
Q (общий балл)среднее по измеренным осям. Вторичная величина: публикуется только вместе с охватом
Охват осейсколько осей из применимых к категории действительно измерено. Нужен потому, что Q усредняет только измеренное, и выпадение оси его поднимает
«Не измерено» (N/A)проверка не состоялась: нет инструмента, сорвалось окружение, решение до проверки не добралось или ось закрыта гейтом. Отличается от нуля, который означает проваленную проверку
Корневая причинаодна ошибка компиляции с учётом кластеризации: соседние сообщения об одном месте считаются за одну причину
Потолок оси Sверхняя граница балла для модуля, который не собирается. Оценки выше потолка утверждали бы, что модуль компилируется
Конституцияmetrics/smop.yaml: определение самих осей, шкала и правило общего балла. Отвечает на вопрос «что мы меряем»
Протоколкак из наблюдения получается балл. Их два на одну конституцию: smop_l1_auto.yaml для машины и smop_l2_expert.yaml для эксперта
Таксономия ошибокmetrics/error_taxonomy.yaml: маркеры платформенных ошибок, подклассы и поле вины. Списки лежат в данных, а не в коде скорера
Уровень L1автоматическая оценка: код запускается, балл выводится по протоколу L1
Уровень L2экспертная оценка: те же оси ставит человек по протоколу L2
Каппа Коэнамера согласия двух оценщиков сверх случайного совпадения. Согласие L1 и L2 это главный научный результат проекта
Взвешенная каппавариант каппы, учитывающий, насколько далеко разошлись оценки. Нужна там, где машине доступны не все ступени шкалы

Задачи

ТерминЧто означает
Категория Aалгоритмика на чистом BSL: расчёты, строки, коллекции, даты. Исполняется в OneScript, ось P неприменима
Категория Bплатформенные задачи: запросы, регистры, метаданные. Исполняются в headless-1С против синтетической базы
Задачасамодостаточный каталог: условие плюс проверка. Состав зависит от категории, канонический список в prism check
Скрытые тестыпроверки, которых модель не видит: пары «на таком входе такой результат»
Эталон (canonical.bsl)корректное решение автора задачи. Обязано проходить свои тесты на 100%, иначе задача не принимается
Якорь оси O (perf_baseline.bsl)намеренно медленное, но корректное решение категории A. Доказывает, что ось O видит сложность задачи: эталон обязан получить высокий балл, якорь низкий
Спецификация конфигурации (config_spec.yaml)описание объектов метаданных, из которого собирается синтетическая база задачи
Фикстуры (fixtures.yaml)тестовые данные, которыми наполняется синтетическая база
Профиль нагрузки (perf.yaml)сценарий замера оси O: на каких размерах базы гонять решение
Точка входафункция или процедура, которую харнесс вызывает в коде кандидата. Ищется по образцам из условия задачи
Задача-выбросзадача с аномально высокой долей нулевых баллов. Повод проверить сам стенд, прежде чем считать её трудной

Прогон

ТерминЧто означает
Харнесскод бенчмарка (harness/): генерация, исполнение, оценка, отчёты. Правил не содержит, читает их из данных
Кандидаткод, сгенерированный моделью для конкретной задачи
Прогон (эксперимент)один заход «модели решают задачи»: results/experiment_*.json
Изданиепрофиль прогона: какие оси считаем и в каких условиях решала модель. Отвечает на вопрос «в каких условиях испытывали»
Адаптерканал доступа к модели. Вендор и канал разведены: модель это факты в каталоге, канал это адаптер
Чекпойнтчастичный результат генерации, позволяющий продолжить прерванный прогон флагом --resume
Песочницаизолированный контейнер, в котором исполняется недоверенный код модели. Режим по умолчанию, на баллы не влияет
OneScriptдвижок исполнения BSL вне платформы 1С. Исполняет категорию A и даёт вердикт по оси S
BSL Language Serverстатический анализатор BSL. В категории A оценивает тяжесть синтаксических проблем, но вердикт «собирается» не выносит: это парсер, а не компилятор
Headless-1Сплатформа 1С, запущенная в контейнере без интерфейса. Исполняет категорию B
Технологический журналштатный лог платформы 1С. Используется дважды: как источник числа обращений к СУБД для оси O и как свидетельство того, что код вообще дошёл до данных
Бюджет процессорного временилимит на исполнение, считаемый процессорным, а не настенным временем. Благодаря этому балл не зависит от загрузки машины
Кэш сырых замеровresults/.measure_cache/: результаты прогонов, сложенные по содержимому входа. Служит и ускорением пересчёта, и хранилищем сырья
Артефакты прогоналоги 1С по конкретной записи, как они были: компиляция, тесты, загрузка базы. Достаются командой prism artifacts

Результаты и публикация

ТерминЧто означает
Записьодна пара «задача × модель» в файле оценок: баллы по осям, охват, детали измерения
Воронка отказовразбор, на каком шаге рассыпались решения: от отсутствия кода до неверного ответа
Вина (blame)чей дефект привёл к результату: модели, задачи, харнесса или окружения. Нужна, чтобы инфраструктурный сбой не выглядел ошибкой модели
Снимок корпусазамороженная копия оценок с контрольными суммами. База сравнения для аудита
Дрейфпострочная разница между текущими оценками и снимком: какие записи изменились и почему
Гейт определения (prism check)проверка того, что бенчмарк корректно задан: задачи, эталоны, контракты, инструменты
Гейт результатов (prism audit)проверка того, что полученные оценки не противоречат сами себе. Ничего не правит, только показывает
compat_hashотпечаток версии бенчмарка (метрика плюс набор задач). Гарантирует, что чужой прогон получен на той же версии и его числа сравнимы
Сабмишенупакованный прогон для обмена: оценки плюс compat_hash
Лидербордсводный рейтинг моделей по прогону. Собирается из оценок, руками не пишется

Дальше