Суперкомпиляция, partial evaluation, проекции Футамуры и как GraalVM спасет мир

День 2 /  / Зал 1  /  RU / Хардкор. Сложный низкоуровневый доклад, требующий от слушателя знаний технологии.  /  vm/runtime,compilerconstruction

Комментарий Программного комитета:

Суперкомпиляция и partial evaluation — очень актуальные темы в области компиляторов. Java Champion Олег Шелаев не только объяснит их теоретическую базу, но и покажет применение на практике в уже доступных опенсорсных проектах, таких как Truffle и GraalVM.

Кто из нас в детстве не хотел написать свой компилятор, или игровой движок, или еще что-нибудь эдакое?

В этом докладе мы поговорим про Truffle — фреймворк для создания языков программирования на основе GraalVM. Для Truffle нужно всего лишь описать семантику языка в виде интерпретатора, и вуаля — через какое-то время все прогреется и станет работать удивительно быстро. Мы рассмотрим, как работает Truffle, что такое специализация (partial evaluation) программ. Расскажем, какие другие оптимизации Truffle применяет для языков и почему он лучше всего работает в присутствии компилятора Graal.

Не каждый должен создать свой язык программирования или написать компилятор, но детали работы Truffle из этого доклада помогут лучше понять, как работают языки, поддерживаемые GraalVM — JavaScript, Ruby, R, Python — и как лучше их применять.



Олег Шелаев
Oracle

Олег — developer advocate проекта GraalVM в OracleLabs, организатор VirtualJUG и митапов GDG Tartu. В 2017 году стал Java Champion. Любит виртуальные машины, компиляторы, смотреть, как бегут бенчмарки, почти все языки программирования и немного шахматы.

Контакты