Дмитрий Кашицын, Вывод типов в динамических и не очень языках | Часть I

Дмитрий Кашицын
Плюсовод, линуксоид, паяльник-железячник. Последние пять лет занимаюсь только системным программированием. Успел приложить руки к ПО «Навител Навигатор»; занимался вопросами портирования, после — алгоритмами прокладки маршрутов. Сейчас работаю в компании HDSoft (Zodiac Interactive), где занимаюсь разработкой системной части ПО для приставок кабельного и спутникового телевидения. Свободное от работы время трачу на проект компилятора и оптимизирующей виртуальной машины Smalltalk на базе LLVM JIT.

Как виртуальной машине выжить в динамическом окружении и не потерять производительность?

В этой части доклада мы заглянем под капот виртуальной машины динамического языка и попытаемся понять, как она работает и как можно сделать ее еще быстрее. В качестве подопытного языка будет рассматриваться самый динамический из объектных, и самый объектный из динамических языков — Smalltalk.

Формально: исследуется диалект Little Smalltalk, а также методика вывода (реконструкции) типов на основе статического анализа байт-кодов виртуальной машины. Рассматриваются причины падения производительности и алгоритмические трудности при наивной реализации JIT компилятора вместе со способами их устранения.

Яндекс.Метрика