Доказательства
Накладные расходы без подключённого DevTools
Сравнение базовой версии и версии с диагностическим каналом без подключённого клиента DevTools.
Накладные расходы отключённого DevTools
Отдельный эксперимент сравнил одинаковые копии основного пакета до и после добавления автоматического диагностического канала, когда расширение не подключено. Каждое значение — медиана наносекунд на Command; по десять выборок полного профиля выполнены на одной системе Apple M1.
| Режим | Сценарий | Исходная версия | Версия с каналом | Разница |
|---|---|---|---|---|
| JIT | один Command и один State | 2 760,17 | 2 756,35 | -0,14 % |
| JIT | 10 000 последовательных обновлений | 2 745,39 | 2 765,11 | +0,72 % |
| JIT | 100 000 последовательных обновлений | 2 770,92 | 2 765,35 | -0,20 % |
| AOT | один Command и один State | 2 785,79 | 2 765,90 | -0,71 % |
| AOT | 10 000 последовательных обновлений | 2 792,92 | 2 767,87 | -0,90 % |
| AOT | 100 000 последовательных обновлений | 2 777,51 | 2 781,45 | +0,14 % |
Наибольшая измеренная регрессия — 0,72 %, ниже принятого в эксперименте порога 3 %. Изменения направлены в обе стороны и не показывают устойчивого замедления при отключённом DevTools.
Результат не означает, что подключённый DevTools не создаёт нагрузки. Кодирование активных событий, сериализация, передача данных и интерфейс добавляют работу и не входили в эксперимент. В продуктовых сборках для VM и Web диагностический канал исключается при компиляции.