C++ Profiling

Open-source C++ projects categorized as Profiling

Top 10 C++ Profiling Projects

  • tracy

    Frame profiler

    Project mention: Google/orbit – C/C++ Performance Profiler | news.ycombinator.com | 2024-02-11

    i don't really think there is _anything_ that comes even close to tracy https://github.com/wolfpld/tracy.

    on top of this, given google's penchant for dumping projects aka abandonware, this would be an easy pass.

  • hotspot

    The Linux perf GUI for performance analysis.

    Project mention: Hotspot: A GUI for the Linux perf profiler | /r/C_Programming | 2023-09-12
  • JetBrains Dev Survey

    What’s up with the C++ ecosystem in 2023? JetBrains Developer Ecosystem Survey 2023 has given us many interesting insights. The Embedded (37%) and Games (39%) industries are already working with C++20, developers are incorporating static analysis in their CI, and ChatGPT usage among coders is flourishing. Read on for more!

  • MTuner

    MTuner is a C/C++ memory profiler and memory leak finder for Windows, PlayStation 4 and 3, Android and other platforms

    Project mention: MTuner: C/C memory profiler and memory leak finder | /r/hypeurls | 2023-06-25
  • palanteer

    Visual Python and C++ nanosecond profiler, logger, tests enabler

  • omnitrace

    Omnitrace: Application Profiling, Tracing, and Analysis

    Project mention: What is your favourite profiling tool for C++? | /r/cpp | 2023-06-29

    Omnitrace. Similar concept to VTune and Nsight Systems from AMD: profiling and/or tracing for CPU-only or CPU+GPU workloads: sampling, binary instrumentation, etc. Has more CPU-based information than Nsight Systems and supports binary rewrites for instrumentation which VTune lacks (runtime instrumentation only). Also supports causal profiling like COZ. Supports Python-based analysis/manipulation/filtering/comparison of traces and profiles. Other great tools: HPCToolkit, Caliper, and TAU.

  • externis

    Generate profiling traces for GCC

    Project mention: Looking for some comparison on build times on recent GCC versions. | /r/cpp | 2023-06-18

    This flag is useless for most cases of bad build times. You want something like clang's -ftime-trace or externis.

  • takedetour

    A template (and a sample) for writing tracers on Windows. Based on the Detours library.

  • Onboard AI

    ChatGPT with full context of any GitHub repo. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at app.getonboardai.com.

  • gpu-kernel-runner

    Runs a single CUDA/OpenCL kernel, taking its source from a file and arguments from the command-line

    Project mention: How Jensen Huang's Nvidia Is Powering the A.I. Revolution | news.ycombinator.com | 2023-11-29

    > but all the alternatives require significant redesign in languages and tools people are unfamiliar with and we can't afford that overhead

    Where I work, we've made it a principle to stay OpenCL-compatible even while going with NVIDIA due to their better-performing GPUs. I even go as far as writing kernels that can be compiled as either CUDA C++ or OpenCL-C, with a bit of duct-tape adapter headers:

    https://github.com/eyalroz/gpu-kernel-runner/blob/main/kerne...

    https://github.com/eyalroz/gpu-kernel-runner/blob/main/kerne...

    of course, if you're working with higher-level frameworks then it's more difficult, and you depend on whether or not they provided different backends. So, no thrust for AMD GPUs, for example, but pytorch and TensorFlow do let you use them.

  • echion

    Near-zero-overhead, in-process CPython frame stack sampler with async support

    Project mention: Memray – A Memory Profiler for Python | news.ycombinator.com | 2024-02-10

    It is still in experimental stages, but would you be willing to test the memory mode of Echion? (https://github.com/P403n1x87/echion). It is essentially tracing of all memory allocations. Mind that, if an allocation is followed by a matching de-allocation, it won't be reported; so if you profile from start till end, and all the memory is released, the profile should be almost empty (in reality this will almost never be the case); this might explain why the data doesn't seem to make sense from the tools you have tried already (assuming they do a similar thing).

  • gpu_clock_stabilizer

    Simple GPU clock stabilizer for consistent profiling

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-02-11.

C++ Profiling related posts

Index

What are some of the best open-source Profiling projects in C++? This list will help you:

Project Stars
1 tracy 7,294
2 hotspot 3,746
3 MTuner 2,514
4 palanteer 2,027
5 omnitrace 244
6 externis 30
7 takedetour 29
8 gpu-kernel-runner 18
9 echion 12
10 gpu_clock_stabilizer 6
The modern API for authentication & user identity.
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
workos.com