Embedded Profiler is a multiplatform low overhead C/C++ profiler for PC (Linux, Windows) and embedded system targets (ARM/Android, SH4/Windows CE and others). It is based on automatic instrumentation of functions by C/C++ compiler (GCC, MinGW or MSVC). Its unique concept grants the Embedded Profiler a set of distinguishing properties compared to other C/C++ profilers on the market.
|Profiling on target||Multithreaded|
|CPU cycles accuracy||Low overhead|
|Call graph||No sampling|
How profiling works
Embedded Profiler injects function call at the beginning and at the end of each profiled function.
The injected functions store profiler data directly in memory at minimal overhead cost. When memory allocated for profiler data is full, this data is flushed to a medium (e.g. harddisk).
Three steps to profile:
- Recompile client application
- Run the application to create log
- Inspect the log on your PC
Profiler data inspection on PC provides:
- Complete reconstruction of function call tree
- Accurate call durations in CPU cycles
- Several different views to the data
For more detailed description and how-to's, see the user manual.
Do you need another platform? Contact us
|Android||ARM Cortex-A5+||Android NDK gcc|
|Linux 64-bits||Intel x86-64||gcc|
|Linux 32-bits||Intel x86||gcc|
|Windows 64-bits||Intel x86||MinGW|
|Windows 32-bits||Intel x86||MinGW|
|Windows 64-bits||Intel x86||MSVC|
|Windows 32-bits||Intel x86||MSVC|
|Windows CE 5.0 Automotive||Hitachi SH-4||MSVC or EVC|