Тип доклада: Доклад

Коротко о Scalar Evolution: как LLVM справляется с проверками диапазонов

  • Доклад на русском языке

За безопасность всегда приходится платить, в том числе и за безопасный доступ к массивам. Из этого доклада вы узнаете, как компилятор на основе LLVM может сделать проверки диапазонов в таких языках, как Java, почти бесплатными, используя движок Scalar Evolution (SCEV).

Многие слышали что-то про SCEV, но не все знают, что это такое и как он устроен. Он является, пожалуй, одной из самых загадочных частей оптимизатора LLVM, но в то же время предоставляет большие возможности для улучшения кода.

Расскажу, как SCEV устроен изнутри и как оптимизации, борющиеся с проверками диапазонов, извлекают из него пользу. Подробно разберем несколько оптимизаций, благодаря которым можно не делать лишних проверок и за счет этого серьезно улучшить производительность кода на Java и подобных ей языкам.

Жду всех, кто интересуется компиляторными оптимизациями и производительностью кода!

Спикеры

Расписание