Используем cookie для работы сайта и статистики. «Хорошо» разрешит ещё и запись сессий.
AAzul
Бангалор, Индия1 месяц назад
Грейд
Middle
Опыт работы
от 2 лет
Формат работы
Офис, Удалённо
Уровень английского
B2, выше среднего
Письмо на почту или сообщение рекрутеру в Telegram
Falcon — это компилятор Just-In-Time (JIT), который входит в состав Azul Platform Prime. Он компилирует горячий Java-байт-код в высокооптимизированный машинный код и обеспечивает такую производительность Java, которую стандартные JVM не достигают. Falcon построен на базе LLVM. Мы ищем инженера по производительности компилятора, который будет заниматься тем, чтобы Falcon генерировал еще более быстрый код. Это не роль разработчика фронтенда компилятора и не разработка компилятора с нуля: компилятор существует, работает в производственной среде на крупных предприятиях, и ваша задача — находить места, где сгенерированный код работает медленнее, чем должен, и исправлять их в оптимизаторе и генераторе кода. Вы присоединитесь к распределенной команде экспертов по компиляторам и будете работать над реальными нагрузками, оказывая прямое, измеримое влияние на производительность клиентов.
Анализировать производительность Java-бенчмарков и клиентских нагрузок, находить пробелы в сгенерированном коде и определять их первопричину в компиляторе Реализовывать и улучшать оптимизации в среднем и бэкенд-компонентах Falcon: встраивание (inlining), оптимизации циклов, векторизация, устранение избыточности, спекулятивные оптимизации и их взаимодействие с рантаймом Улучшать генерацию кода для x86_64 и AArch64 Писать тесты и бенчмарки, которые доказывают улучшение и защищают его от регрессий Вносить изменения в LLVM (upstream), где это целесообразно
Более 2 лет профессионального опыта в области компиляторов, JIT-компиляторов или низкоуровневой инженерии производительности Сильные навыки проектирования и кодирования на C++ Глубокое понимание теории оптимизации компиляторов: SSA, анализ потока данных, преобразования циклов Способность читать ассемблер и рассуждать о том, почему одна последовательность инструкций работает быстрее другой
Опыт работы с LLVM IR и проходами оптимизации LLVM, или с другим оптимизирующим компилятором, таким как HotSpot C2, Graal, GCC или V8 Опыт работы с профилировщиками, такими как perf, VTune или async profiler Знание микроархитектуры x86_64 и/или AArch64 Опыт работы с Java, Scala или Kotlin, или с внутренними компонентами JVM Степень магистра (MSc) или доктора (PhD) в области компьютерных наук со специализацией в компиляторах или производительности
Очень желательно иметь:
Falcon is the optimizing just in time (JIT) compiler in Azul Platform Prime. It compiles hot Java bytecode into highly optimized machine code and delivers Java performance that standard JVMs do not reach. Falcon is built on LLVM. We are looking for a Compiler Performance Engineer to make Falcon generate even faster code. This is not a compiler front end role and not a compiler built from scratch: the compiler exists, runs in production at large enterprises, and your job is to find where the generated code is slower than it should be and fix it in the optimizer and code generator. You will join a distributed team of compiler experts and work on real workloads with direct, measurable impact on customer performance.
What You Will Do (aka Responsibilities) Analyze performance of Java benchmarks and customer workloads, find gaps in generated code and trace them to their root cause in the compiler Implement and improve optimizations in Falcon's middle end and back end: inlining, loop optimizations, vectorization, redundancy elimination, speculative optimizations and their interaction with the runtime Improve code generation for x86_64 and AArch64 Write tests and benchmarks that prove the improvement and protect it from regressions Contribute changes upstream to LLVM where it makes sense
What You'll Bring (Experience, Skills) 2+ years of professional experience in compilers, JIT compilers or low level performance engineering Strong C++ design and coding skills Solid understanding of compiler optimization theory: SSA, data flow analysis, loop transformations Ability to read assembly and reason about why one instruction sequence is faster than another
Very Nice to Have Experience with LLVM IR and LLVM optimization passes, or with another optimizing compiler such as HotSpot C2, Graal, GCC or V8 Experience with profilers such as perf, VTune or async profiler Knowledge of x86_64 and/or AArch64 microarchitecture Experience with Java, Scala or Kotlin, or with JVM internals MSc or PhD in Computer Science with a compiler or performance focus
Сравним навыки, грейд, формат работы и зарплату
Чаще всего от 2 180 000 до 3 930 000