An Introduction to Tracy Profiler in C++ - Marcos Slomp - CppCon 2023
#cpp #cppcon
An Introduction to Tracy Profiler in C++ - Marcos Slomp - CppCon 2023
https://github.com/CppCon/CppCon2023
https://www.youtube.com/watch?v=ghXk3Bk5F2U
Traditional profilers are prone to skew profiling results due to overhead and time resolution constraints. Moreover, results are commonly presented in some aggregated fashion (e.g., symbol tables, flame graphs, call graphs, etc.) which are unable to pin-point anomalies in a timeline. While insightful, this methodology obfuscates the "when and where" aspect of performance issues, which can lead to rabbit holes and your time wasted.
The Tracy profiler takes a different stance, putting the timeline in the front row. This helps on the identification of pathological cases, and on the performance analysis of specific portions of the program execution. Tracy also enables real-time performance analysis: you can interact with the profiler on-the-fly, as your program runs. While Tracy encourages manual code instrumentation through its minimally invasive, low-overhead, nanosecond resolution annotations, it still supports the more traditional, automatic call stack sampling approach; what's more, there is support for "selective" call stack sampling instrumentation. Even GPU activity can be instrumented and correlated alongside with the CPU timeline. Besides its performance profiling capabilities, Tracy also provides a variety of useful tracing utilities, such as plots, frame delimiters, memory allocation trackers, messages, and plenty more.
This talk will showcase Tracy and make a case as to why it has been an unparalleled tool to assist with research tech transfers at Adobe, as well as in production code, to locate, understand and optimize hot-spots. Tracy is also free and open source, so there's no excuse not to give it a try!
---
Marcos Slomp
Marcos Slomp is a research engineer at Adobe focused on transferring research to products. He is particularly interested in getting the most out of GPU hardware for interactive image processing, 3D graphics and computer vision tasks. Making pixels look prettier and refresh quickly, that sort of thing. At Adobe, he has helped revamp the pixel pipeline in Photoshop, ship an interactive hardware-accelerated path tracing renderer in the Substance suite, revitalize 3D workflows in Illustrator, accelerate neural inference for rotoscoping in After Effects, and some more. He is also keen on investigating creative venues for authoring graphics and to facilitate programming. Before joining Adobe Research, Marcos was an R&D software engineer at Square-Enix, working on the graphics and performance needs of the Kingdom Hearts game franchise. He was also a research professor at Kagoshima University working on dynamic 3D scanning technology. Marcos obtained his PhD from Hiroshima University in Japan and his MS degree from UFRGS in Brazil.
Видео An Introduction to Tracy Profiler in C++ - Marcos Slomp - CppCon 2023 автора CppVault
Видео An Introduction to Tracy Profiler in C++ - Marcos Slomp - CppCon 2023 автора CppVault
Показать
Похожие видео
![File I/O for Game Developers: Past, Present, and Future with C++ - Guy Davidson - CppCon 2023](http://pic.rutubelist.ru/video/69/16/691677c9e15dc187ff55bef9af1888df.jpg?size=s)
![Great C++ is_trivial: trivial type traits - Jason Turner - CppCon 2023](http://pic.rutubelist.ru/video/94/87/9487143b4e8dd3d5c46b9064056de677.jpg?size=s)
![Undefined Behavior in C++: What Every Programmer Should Know and Fear - Fedor Pikus - CppCon 2023](http://pic.rutubelist.ru/video/e9/36/e93687658bce55550b658578db69ed83.jpg?size=s)
![std::simd: How to Express Inherent Parallelism Efficiently Via Data-parallel Types - Matthias Kretz](http://pic.rutubelist.ru/video/a3/01/a30104bd1529de4031d74dd9f655da15.jpg?size=s)
![умный робот](http://pic.rutubelist.ru/video/18/93/18933594986ae9bbfc62e1f4b863b75c.jpg?size=s)
![Как очистить историю просмотров в яндекс браузере](http://pic.rutubelist.ru/video/2d/c5/2dc5731ca5c68cf38c9ade87b69b76f8.jpg?size=s)
![C++ Memory Model: from C++11 to C++23 - Alex Dathskovsky - CppCon 2023](http://pic.rutubelist.ru/video/8d/41/8d418641406b38dab78c0e8d99b0a9bb.jpg?size=s)
![Plenary: Cooperative C++ Evolution - Toward A Typescript For C++ - Herb Sutter - CppCon 2023](http://pic.rutubelist.ru/video/94/54/945411a9ad4a59972e342eee2a3fd28f.jpg?size=s)
![Linkers, Loaders and Shared Libraries in Windows, Linux, and C++ - Ofek Shilon - CppCon 2023](http://pic.rutubelist.ru/video/96/b1/96b18346d2dda8deb5e2736125600e2d.jpg?size=s)
![C++ Modules: Getting Started Today - Andreas Weis - CppCon 2023](http://pic.rutubelist.ru/video/33/41/3341ab8c0e5baba0156c4353620b599b.jpg?size=s)
![Plenary: Coping With Other People's C++ Code - Laura Savino - CppCon 2023](http://pic.rutubelist.ru/video/5f/5b/5f5ba040dd24eaec0ca471f62e48ed75.jpg?size=s)
![Верификация и валидация | Уровни тестирования | "Позитивность" тестов](http://pic.rutubelist.ru/video/12/d4/12d491c52b40c56d0e7be3a6bd2a7ad4.jpg?size=s)
![shutdown.](http://pic.rutubelist.ru/video/ff/bf/ffbfcd412208b4a3c8da7487e92ddf02.jpg?size=s)
![STREAM 23 Automatic1111 | Курс ComfyUI | SD3](http://pic.rutubelist.ru/video/48/05/4805abb79dce889002aab1d8c4101b6e.jpg?size=s)
![Back to Basics: Iterators in C++ - Nicolai Josuttis - CppCon 2023](http://pic.rutubelist.ru/video/b2/18/b218a61abb61d241fa30f281a83cb10f.jpg?size=s)
![C++23: An Overview of Almost All New and Updated Features - Marc Gregoire - CppCon 2023](http://pic.rutubelist.ru/video/71/3f/713f69a578ae17cfca2afba6678f8a00.jpg?size=s)
![Effective Ranges: A Tutorial for Using C++2x Ranges - Jeff Garland - CppCon 2023](http://pic.rutubelist.ru/video/d4/ce/d4ce7303876b5c089cfa12818a879100.jpg?size=s)
![Exceptionally Bad: The Misuse of Exceptions in C++ & How to Do Better - Peter Muldoon - CppCon 2023](http://pic.rutubelist.ru/video/7f/a8/7fa8305ce892351590122b44f0b4539e.jpg?size=s)
![A Journey Into Non-Virtual Polymorphism in C++ - Rudyard Merriam - CppCon 2023](http://pic.rutubelist.ru/video/96/da/96da69e6263db1995a450a2918779c2d.jpg?size=s)
![Back to Basics: (Range) Algorithms in C++ - Klaus Iglberger - CppCon 2023](http://pic.rutubelist.ru/video/63/09/6309167915fe4b9dea319fdbe25e71c5.jpg?size=s)