В блоге Google для разработчиков появился свежий пост. В нём сотрудник компании Максим Садым рассказал, как ему и его коллегам удалось ускорить загрузку инструментов для разработчиков Google Chrome. Спойлер: всё упирается в оптимизацию.
Для начала специалист напомнил, что при открытии DevTools, браузер делает несколько запросов к движку V8 через механизм mojo. В процессе код сериализовывается в строку, которая на стороне движка выполняется через метод eval().
Процесс сериализации и десериализации происходил в случае каждого нового сообщения. И это, как посчитали разработчики Google, сильно «утяжеляло» инструмент. Тогда они решили изменить строение API mojo таким образом, что в нём избавились от сериализации команд в строки.
Именно эта оптимизация mojo позволила ускорить загрузку DevTools с 11,2 до 10 секунд, т.е. на 13%.
1 — устройство mojo до изменений; 2 — устройство mojo после изменений / Источник: Google
Источник: Блог Google
Источник: