Write, maintain, and analyze the output of performance profiling tools for resource usage and CPU time usage.
Identify and optimize performance bottlenecks with a focus on small changes with large impacts to reduce change complexity and risk of creating new issues.
Drew up the requirements for, designed, implemented, and pushed out two profiling frameworks targeted at different audiences. The first was for those who really wanted a good look at the software's internals and gave a view into software tasks, hardware threads, and operating system calls. The second was made to be user-friendly and could tie into existing testing and automation frameworks nicely.
Designed and implemented a Code Layout Optimization script which aimed to reduce L1 Instruction Cache misses for targeted scenarios. Simulated runs shows a 40% reduction in overall misses although real-world testing uncovered fundamental problems with execution tracing.
Maintain a PMU Profiling script and adapt it for new metrics and processor versions.