Skip to main content
Engineering, Backend

Automating Efficiency of Go programs with Profile-Guided Optimizations

13 March / Global
Featured image for Automating Efficiency of Go programs with Profile-Guided Optimizations
Image
Figure 1: PGO in a continuous optimization framework.
Image
Figure 2: Profiling infrastructure for PGO. 
Image
Figure 3: Timing breakdown for PGO compilation passes.
Image
Figure 4: PGO profile preprocessing architecture.
Image
Figure 5: Performance benchmark of PGO on go-json.
Image
Figure 7: Call graph of checkValid function.
Image
Figure 8: Performance comparison of PGO on Tally benchmark suite. 
Image
Figure 9: CPU core allocation count for top 6 services of 5 months.
Image
Figure 10a: Profile collected during baseline binary execution.
Image
Figure 10b: Profile collected during PGO binary execution. 
Chris Zhang

Chris Zhang

Chris is a Software Engineer on the Programming System team at Uber. His research interests include computer architecture, compilers, operating systems, and microservices.

Yufan Xu

Yufan Xu

Yufan Xu is a Software Engineer on the Programming System team at Uber. His research interests include compiler and ML system optimization.

Milind Chabbi

Milind Chabbi

Milind Chabbi is a Senior Staff Researcher on the Programming Systems Research team at Uber. He leads research initiatives across Uber in the areas of compiler optimizations, high-performance parallel computing, synchronization techniques, and performance analysis tools to make large, complex computing systems reliable and efficient.

Shauvik Roy Choudhary

Shauvik Roy Choudhary

Shauvik is the Engineering Manager of the Programming Systems team at Uber. He is an experienced leader in the developer tools and AI/ML space building innovative solutions to improve software quality and performance.

Posted by Chris Zhang, Yufan Xu, Milind Chabbi, Shauvik Roy Choudhary