Embedded Profiler is both a graphical and command-line software created from the ground up to act as a low-overhead C++ profiler. The application is backed by automatic instrumentation of various functions of a compiler and supported on all mainstream operating systems.
You should use Embedded Profiler to profile your C++ code, because it offers profiling on target, it’s multithreaded, low overhead, provides CPU cycles accuracy and call graph, and includes no sampling.
Supports a wide range of compilers
Supporting GCC, MinGW or MSVC compilers, Embedded Profiler allows users to profile C++ code manually or automatically. The difference is that the automatic method will also generate a complete call tree.
In order to specify the parts of the C++ code to be profiled, developers will need to use the EProfiler API (Application Programming Interface) when using Embedded Profiler’s manual profiling method.
The CLI version of Embedded Profiler comes with several command-line options, which will allow you to calculate all available overheads, to specify the filename to save the profiler log (if not, no log file will be created), to specify the number of repetitions of overhead measurements from which the minimum is calculated, as well as to specify the number of consecutive profiler overhead measurements from which the average is calculated.
Under the hood
We took a look under the hood of the Embedded Profiler software and we’ve noticed that it is written in the C++ programming language. Moreover, the graphical user interface (GUI) of the software is designed in the cross-platform Qt toolkit.
Runs on Linux, Windows and Mac
By design, Embedded Profiler is a multiplatform project, engineered to support all distributions of GNU/Linux, as well as the Microsoft Windows and Mac OS X operating systems. Both 32 and 64-bit hardware platforms are supported at the time of writing this short review.