Yandex Open-Sources Perforator: Find Code Inefficiencies & "Save Billions of Dollars"

Perforator is a continuous profiling application that analyzes CPU profiles from production servers to look for performance inefficiencies. Perforator relies on eBPF, is able to unwind without needing frame pointers or debug symbols on the production servers, and supports a variety of languages from C++ to Go to Rust, Java, Python, and Node.js. As part of the performance tooling, Perforator can also rebuild applications with collected profiles and employing Profile Guided Optimizations (PGO).
Yandex claims that Perforator can run with just 512MB of RAM and less than 1% of host CPU resources to make it suitable for continuously running on production servers for profiling.
Yandex wrote in today's press release that Perforator can optimize applications and reduce infrastructure costs by up to 20%... Similar to their claims of saving billions of dollars annually, the claims seem extremely ambitious and would rely on currently using a lot of unoptimized code in production.
Perforator is open-source under an MIT license. Those wanting to check it out can find it on GitHub. The project site with plenty of documentation is at Perforator.tech.
30 Comments