Apply Edge Start your job search

Performance Engineer, Language Runtime - PAYE contract / C++ / Rust

European Tech Recruit · Cambridgeshire, England, United Kingdom

Apply & track with Apply Edge

Performance Engineer, Language Runtime - PAYE contract / C++ / Rust Our client is looking for a Performance Engineer to make managed language runtimes run measurably faster on ARM64 mobile-class CPUs.You will work across the full runtime stack, from interpreter, JIT and AOT compilers to the garbage collector and runtime libraries, and follow every optimisation down to the generated machine code and the hardware counters that explain it.The is as inside IR35/PAYE contract, initially for 12 months' and will require 100% onsite presence in Cambridge, UK. You will sit within an existing CPU team, so what you learn about how runtimes stress the pipeline, caches and branch predictors will feed directly into next-generation core design. You will also work with LLM-agent pipelines that automate parts of the analyse, patch, benchmark and validate loop.What you will be doing:Finding and ranking performance bottlenecks in interpreter, JIT/AOT, GC and runtime library code using sampling profilers, PMU counters, top-down analysis and flame graphsImproving interpreter and compiler tiers, including dispatch, inline caches, hidden classes, tier-up and deoptimisation policy, instruction selection, register allocation, inlining heuristics and check eliminationReducing startup time through snapshots, AOT images, lazy compilation and warm-up tuningTuning allocation and collection for throughput, pause time and footprint, including barriers, generational and concurrent collectors, object layout and pointer compressionExplaining runtime behaviour in hardware terms, such as indirect-branch misprediction, I-cache and iTLB pressure and load-to-use latency, and turning findings into software changes and hardware feedbackBuilding benchmarking and regression-tracking pipelines with noise control and statistically sound A/B comparisonBuilding and using LLM-agent pipelines to analyse profiles, propose patches and validate correctnessWorking with CPU architects on which hardware or ISA features would help runtime workloadsLanding upstream patches, writing technical reports and contributing to patents and publications where appropriateYour background:Degree in Computer Science, Computer Engineering, Electrical Engineering or a related field, or equivalent practical experienceStrong C and C++ (or Rust), with the ability to work productively in a large, performance-critical codebaseHands-on performance work in a language runtime, VM or compiler backend, with measured speedups you can walk through in detail (for example V8, JavaScriptCore, SpiderMonkey, HotSpot, PyPy, LuaJIT, CPython or an LLVM backend)Fluency with profiling tools such as perf, PMU counters and flame graphs, and the ability to read disassembly and relate it to sourceSolid grasp of a modern ISA (ARM64 or x86-64), calling conventions, the memory model and the cost of branches and cache missesMeasurement rigour: you design experiments, control for noise and report results with appropriate statisticsDesirable skills: Working knowledge of CPU microarchitecture, including out-of-order pipelines, branch prediction, caches, TLBs and prefetchingARM64 experience, particularly on mobile or embedded SoCsContributions to an open-source runtime, compiler or GCExperience with LLM agents or ML-assisted tooling for code optimisationFamiliarity with simulators such as gem5Publications or patents in runtimes, compilers or computer architectureIn accordance with local employment laws, applicants must have current, valid authorisation to work in the UK at the time of application. We are unable to sponsor employment visas for this role. Applications from individuals without existing work authorisation for the UK cannot be considered.If this sounds interesting and you'd like to learn more, click the link below to apply or email me with a copy of your CV on smouland@eu-recruit.com By applying to this role you understand that we may collect your personal data and store and process it on our systems. For more information please see our Privacy Notice (https://eu-recruit.com/wp-content/uploads/2024/07/European-Tech-Recruit-Privacy-Notice-2024.pdf)