Мы все используем JavaScript каждый день, но мало кто задумывается, что происходит после того, как исходный код попадает в браузер. На примере движка V8 я расскажу про стадии, которые проходит наш код, прежде чем стать набором машинных инструкций для процессора. Расскажу, почему почти одинаковые, на первый взгляд, примеры кода показывают разные результаты на тестах и почему этим тестам нельзя доверять. Мы пройдёмся по истории движка V8 от самой первой версии без оптимизирующего компилятора до современного конвейера Ignition + Turbofan и узнаем, как авторам V8 удалось добиться столь впечатляющей производительности.
Язык доклада: RUСкачать презентацию.
Андрей Мелихов
Прежде чем стать фронтендером, Андрей несколько лет отдал разработке геофизического оборудования. Писал код для микроконтроллеров на ассемблере и решал задачи передачи данных по километровому шумному кабелю. Во фронтенде немного заскучал, но недавно обнаружил целый пласт слабо исследованных (по крайней мере, в рунете) низкоуровневых областей, связанных с вопросами генерации машинного кода из Javascript. Продолжает копать вглубь и делиться с сообществом.