Web demo of Tracy: https://tracy.nereid.pl/
This blows my mind. It's so fast and responsive I never expected a WebAssembly application to be!
Is the latest windows build broken for anyone else? It doesn’t start. In WinDbg it looks like it dereferences a null pointer. I built it myself and it works fine.
https://github.com/yse/easy_profiler
Especially interesting if based on real practical experience.
for ex. Apple wraps Metal buffers as "Debug" buffers to record allocations/deallocations.
The overheard of observing the time is around 60 nanoseconds.
Light travels about a foot in a nanosecond.
Below ~500 nanoseconds, things get fuzzy.
Tracy requires you to add macros to your codebase to log functions/scopes, so its not an automatic sampling profiler like superluminal, verysleepy, VS profiler, or others. Each of those macros has around 50 nanoseconds of overhead, so you can liberally use them in the millions. On the UI, it has a stats window that will record average, deviation, min/max of those profiler zones, which can be used to profile functions at the level of single nanoseconds.
Its the main thing i use for all my profiling and optimization work. I combine it with superluminal (sampling profiler) to get a high level overview of the program, then i put tracy zones on the important places to get the detailed information.