Johnnie Birch is a compiler and runtime performance engineer with 17 years of experience bridging academic research and production systems, now based in the Portland metro area. Trained as a Ph.D. computer scientist after a B.S. in Meteorology, he began his career developing restructuring compilers in academia and has since led efforts in managed run-time execution, UX performance, and security-focused runtime technologies. His open-source contributions include performance and JIT instrumentation work on the Wasmtime WebAssembly runtime and low‑level assembly optimizations for the Dalvik VM’s x86 interpreter, demonstrating measurable benchmark gains. Comfortable mentoring and leading cross-functional teams, he combines deep compiler theory with hands-on assembly and profiling skills, and has applied that expertise to Android, Chrome OS, and IoT projects. He also maintains practical familiarity with machine learning and embedded systems, making him adept at translating research-grade techniques into production performance improvements.
17 years of coding experience
B.S., Meteorology, B.S., Meteorology at Florida State University
A lightweight WebAssembly runtime that is fast, secure, and standards-compliant
Role in this project:
Back-end Developer & Performance Engineer
Contributions:139 reviews, 88 commits, 124 PRs in 3 years 1 month
Contributions summary:Johnnie primarily focused on enhancing the performance of the WebAssembly runtime, Wasmtime, by implementing features related to just-in-time (JIT) compilation and profiling. They added support for the perf jitdump file specification, enabling profile data viewing for generated code. Furthermore, the user incorporated VTune profiling, allowing for more detailed analysis of jitted code through the use of ittapi. They also updated target_lexicon usages and fixed build warnings related to lightbeam builds, with the primary focus around improvements to the core functionality and instrumentation capabilities of the runtime.
Contributions summary:Johnnie primarily focuses on optimizing the Dalvik virtual machine's interpreter for the x86-atom architecture. Their work involves rewriting and enhancing assembly code, specifically for the fast interpreter, to improve performance, as demonstrated by benchmark improvements. They have added new bytecodes and corrected issues within the interpreter's assembly implementation. Their contributions also include fixing issues related to the calling convention for handling return values, specifically for smaller data types.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.