Доклад

Компилируем формулы в рантайме во имя перфа

На русском языке

Одна из задач среднего поиска в Ozon — применять разнообразные сложные вычисления к документам, пережившим базовое ранжирование, рассчитывая сложные фичи (факторы), влияющие на позицию документов в выдаче. Среди этих вычислений большую роль как по значимости, так и по потребляемому CPU играют calculated-фичи — разнообразные формулы, описанные дата-саентистами.

В ходе исследования производительности мы заметили, что расчет calculated-фичей занимает неприемлемо много процессорного времени, и решили оптимизировать их за счет динамической генерации байт-кода для них. В результате удалось почти втрое уменьшить потребление CPU, а заодно снизить время ответа на пользовательские запросы и фактическую интенсивность аллокаций.

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

Спикеры

Доклады