Staff Compiler Performance Engineer

Posted 1hrs ago

Employment Information

Education
Salary
Experience
Job Type

Report this job

Job expired or something wrong with this job?

Job Description

Staff Compiler Performance Engineer setting performance strategy for Azul’s Falcon JIT compiler. Leading optimizations, architecture, hardware enablement, and LLVM contributions.

Responsibilities:

  • Define the performance strategy for Falcon: identify the largest opportunities across benchmarks and customer workloads and turn them into a technical roadmap
  • Lead design of complex, cross cutting optimizations in the optimizer and code generator, and of the interfaces between the compiler, the runtime and the garbage collector
  • Make architectural decisions on the Falcon optimization pipeline, compile time budget and tiering strategy
  • Lead enablement of Falcon on new hardware platforms and new Azul products
  • Mentor senior engineers, review critical designs and code, and set standards for performance methodology and validation
  • Represent Azul in the LLVM community: drive upstream design discussions and contributions that benefit managed language compilers

Requirements:

  • 8+ years of professional experience developing optimizing compilers or JIT compilers
  • Track record of technical leadership: owning the design of major compiler components or optimization frameworks used in production
  • Expert C++ skills and experience in large, long lived codebases
  • Deep expertise in compiler optimization and code generation, with a clear view of the tradeoffs between peak performance, compile time, warmup and code size
  • Expert performance analysis skills down to the microarchitecture level
  • Recognized contributions to LLVM or another major compiler: code owner, maintainer or author of significant upstream work (nice to have)
  • Deep experience with JIT compilers for managed languages: HotSpot C2, Graal, V8, .NET RyuJIT or similar (nice to have)
  • Experience working closely with runtime and GC teams on speculation, deoptimization and barrier design (nice to have)