Загрузка страницы

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
Показать
Информация
10 августа 2024 г. 23:28:01
01:02:07
Похожие видео
File I/O for Game Developers: Past, Present, and Future with C++ - Guy Davidson - CppCon 2023File I/O for Game Developers: Past, Present, and Future with C++ - Guy Davidson - CppCon 2023Great C++ is_trivial: trivial type traits - Jason Turner - CppCon 2023Great C++ is_trivial: trivial type traits - Jason Turner - CppCon 2023Undefined Behavior in C++: What Every Programmer Should Know and Fear - Fedor Pikus - CppCon 2023Undefined Behavior in C++: What Every Programmer Should Know and Fear - Fedor Pikus - CppCon 2023std::simd: How to Express Inherent Parallelism Efficiently Via Data-parallel Types - Matthias Kretzstd::simd: How to Express Inherent Parallelism Efficiently Via Data-parallel Types - Matthias Kretzумный роботумный роботКак очистить историю просмотров в яндекс браузереКак очистить историю просмотров в яндекс браузереC++ Memory Model: from C++11 to C++23 - Alex Dathskovsky - CppCon 2023C++ Memory Model: from C++11 to C++23 - Alex Dathskovsky - CppCon 2023Plenary: Cooperative C++ Evolution - Toward A Typescript For C++ - Herb Sutter - CppCon 2023Plenary: Cooperative C++ Evolution - Toward A Typescript For C++ - Herb Sutter - CppCon 2023Linkers, Loaders and Shared Libraries in Windows, Linux, and C++ - Ofek Shilon - CppCon 2023Linkers, Loaders and Shared Libraries in Windows, Linux, and C++ - Ofek Shilon - CppCon 2023C++ Modules: Getting Started Today - Andreas Weis - CppCon 2023C++ Modules: Getting Started Today - Andreas Weis - CppCon 2023Plenary: Coping With Other People's C++ Code - Laura Savino - CppCon 2023Plenary: Coping With Other People's C++ Code - Laura Savino - CppCon 2023Верификация и валидация | Уровни тестирования | "Позитивность" тестовВерификация и валидация | Уровни тестирования | "Позитивность" тестовshutdown.shutdown.STREAM 23 Automatic1111 | Курс ComfyUI | SD3STREAM 23 Automatic1111 | Курс ComfyUI | SD3Back to Basics: Iterators in C++ - Nicolai Josuttis - CppCon 2023Back to Basics: Iterators in C++ - Nicolai Josuttis - CppCon 2023C++23: An Overview of Almost All New and Updated Features - Marc Gregoire - CppCon 2023C++23: An Overview of Almost All New and Updated Features - Marc Gregoire - CppCon 2023Effective Ranges: A Tutorial for Using C++2x Ranges - Jeff Garland - CppCon 2023Effective Ranges: A Tutorial for Using C++2x Ranges - Jeff Garland - CppCon 2023Exceptionally Bad: The Misuse of Exceptions in C++ & How to Do Better - Peter Muldoon - CppCon 2023Exceptionally Bad: The Misuse of Exceptions in C++ & How to Do Better - Peter Muldoon - CppCon 2023A Journey Into Non-Virtual Polymorphism in C++ - Rudyard Merriam - CppCon 2023A Journey Into Non-Virtual Polymorphism in C++ - Rudyard Merriam - CppCon 2023Back to Basics: (Range) Algorithms in C++ - Klaus Iglberger - CppCon 2023Back to Basics: (Range) Algorithms in C++ - Klaus Iglberger - CppCon 2023
Яндекс.Метрика