Newest release:

Embedded Profiler 1.2.3
Release notes
26. 1. 2015

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.


Why to use Embedded Profiler?Embedded Profiling Diagram

Profiling on target   Multithreaded  
CPU cycles accuracy   Low overhead  
Call graph   No sampling  


How profiling worksEmbedded Profiling Diagram

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.


Supported platforms

Do you need another platform? Contact us

  OS CPU C++ Compiler
Android/BeagleBoard 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