Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 9 C++ Performance analysis Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
easyloggingpp
C++ logging library. It is extremely powerful, extendable, light-weight, fast performing, thread and type safe and consists of many built-in features. It provides ability to write logs in your own customized format. It also provide support for logging your classes, third-party libraries, STL and third-party containers etc.
-
MTuner
MTuner is a C/C++ memory profiler and memory leak finder for Windows, PlayStation 4 and 3, Android and other platforms
-
ctsTraffic
ctsTraffic is a highly scalable client/server networking tool giving detailed performance and reliability analytics
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
gpu-kernel-runner
Runs a single CUDA/OpenCL kernel, taking its source from a file and arguments from the command-line
Project mention: Tracy: Real-time nanosecond resolution frame profiler | news.ycombinator.com | 2024-03-22
Easylogging++ https://github.com/abumq/easyloggingpp
I don't know how often it's a problem, but I work for a company doing software video encoding, and we always fill up all the dimm slots on servers to have as much bandwidth as possible, even if we have only really use maybe 1/4 of the RAM.
I'm not sure any of the standard Linux tools can show you memory bandwidth usage easily (maybe perf), I know we use Intel PCM (https://github.com/intel/pcm) and AMDuProfPCM (https://www.amd.com/en/developer/uprof.html)
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.
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.
C++ Performance analysis related posts
-
Zen 5's Leaked Slides
-
Hotspot: A GUI for the Linux perf profiler
-
Hotspot: A GUI for the Linux perf profiler
-
What is your favourite profiling tool for C++?
-
Profiling C code on an M1 mac
-
What is the problem with transfer speeds withing Dolphin?
-
How close are GPUs to utilizing PCIE gen 4?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 10 May 2024
Index
What are some of the best open-source Performance analysis projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | tracy | 7,881 |
2 | hotspot | 3,882 |
3 | easyloggingpp | 3,684 |
4 | pcm | 2,566 |
5 | MTuner | 2,563 |
6 | omnitrace | 261 |
7 | ctsTraffic | 225 |
8 | riscv-perf-model | 99 |
9 | gpu-kernel-runner | 18 |
Sponsored