Доказательства
Накладные расходы отключённого 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 диагностический канал исключается при компиляции.