Измерения
Как устроен этот сайт
Здесь собраны измерения этого проекта: вес страницы, время отрисовки, контраст, отбор вопросов и стоимость одного ответа. Каждое число получено на этом же коде и рядом с ним написано, чем оно измерено.
Методы и результаты этого проекта открыты. Рабочие параметры, пороги и лимиты не публикуются.
Вес страницы
Байты, которые получает браузер. Считаются при сборке из тех же файлов, которые уходят на сайт.
- Вся страница целиком
- 317458 байтизмерено: backend/tools/check_delivered.py, на доставленных байтах
- Скрипт
- 42027 байтизмерено: backend/tools/check_delivered.py
- Стили
- 24584 байтизмерено: backend/tools/check_delivered.py
- Шрифт
- 18744 байтизмерено: backend/tools/check_delivered.py
- Сборка отказывается публиковать страницу тяжелее своего бюджета
- даизмерено: backend/tools/check_delivered.py
Отрисовка
Время до самой крупной отрисовки, снятое в браузере на двух профилях сети.
- Fast 4G
- 508 мсизмерено: docs/report-task-24.md, замер в Chromium
- Slow 4G
- 2392 мсизмерено: docs/report-task-24.md, замер в Chromium
- Цель
- 2500 мсизмерено: порог, принятый в задаче 24
Контраст
Фон страницы меняется по времени суток. Контраст проверяется в каждом часе, а не один раз.
- Худший контраст основного текста за сутки
- 5.51 к 1измерено: backend/tools/check_contrast.py, 24 часа
- Требуется
- 5.0 к 1измерено: порог сборки
- Худший контраст приглушённого текста
- 3.50 к 1измерено: backend/tools/check_contrast.py, 24 часа
- Требуется
- 3.0 к 1измерено: порог сборки
Петля в иллюминаторе
Видео за стеклом не начинается заново. Два экземпляра одного файла идут со сдвигом в половину петли, и шов каждого закрыт серединой другого.
- Кадров в петле
- 105 кадровизмерено: docs/report-task-24.md, сборка петли
- Длительность петли
- 4.375 сизмерено: docs/report-task-24.md
- Шов на стыке
- 2.55 из 255измерено: docs/report-task-24.md, средняя разница кадров
- Обычный шаг между соседними кадрами
- 2.78 из 255измерено: docs/report-task-24.md
Память
Страница перезагружалась сама на телефоне. Причина нашлась в замере, а не в предположении.
- Декодеров видео было
- 2измерено: docs/report-task-33.md
- Второй включается только там, где хватает памяти
- 1 или 2измерено: backend/tools/check_memory.py
- Свойство, которого нет в этом браузере и по которому решение принималось
- navigator.deviceMemoryизмерено: docs/report-task-33.md, замер в браузере
Отбор вопросов
Какой вопрос задать следующим, решает не порядок в таблице.
- Правило отбора
- UCB1измерено: код отбора вопросов
- Оценка вопроса
- reward / trials + sqrt(2 ln T / trials)измерено: код отбора вопросов
- Попытка
- вопрос был отвеченизмерено: счётчики ответов
- Награда
- путь с этим вопросом дошёл до ответаизмерено: счётчики воронки
- Сравнение идёт только внутри одного сегмента
- даизмерено: docs/report-task-34.md
- Новый вопрос показывается ограниченной долей показов, пока набирает статистику
- даизмерено: код отбора вопросов
Проверка новых вопросов
Вопросы для банка пишет модель. Между ней и посетителем стоит один набор правил, и вот он целиком.
- Правил всего
- 21измерено: валидатор новых вопросов
- Проверок на самих правилах
- 66измерено: валидатор новых вопросов, его собственные контрольные проверки
Стоимость одного ответа
Ответ в конце опроса пишет модель. Токены снимаются с её же API.
- Токенов на один вызов, среднее по шести путям
- 1114 токеновизмерено: docs/report-task-35.md, шесть путей через живую систему
- Рублей за вызов при опубликованной ставке
- 0.2228 рубизмерено: docs/report-task-35.md
- Ответ считается один раз на путь и дальше берётся из кеша
- даизмерено: кэш вердиктов
Что из этого делается вообще
Этот сайт это один пример, а не предел. Способ собирается под задачу: иногда это такой же статический сайт, иногда приложение, иногда только автоматизация внутри, без сайта вообще. Что подходит, видно после разбора задачи, а не до него.