See also   Embedded Profiler

Home > Services > Performance Optimization

Performance Optimization of Embedded Software

Performance is one of the major challenge of most of embedded software projects. For example, OEM car headunits shall preserve fast user interactions with smooth navigation map animations even during background route calculation and background audio playback. Performance optimization is thus an important part of embedded product development cycle.

We offer experience of our SW experts who analyze and optimize performance of your embedded application. During last years, we have been succesfully solving performance issues in several large automotive navigation projects.

Our Approach

Our approach is based on mixture of manual and automatic C++ source code instrumentation, profiling the application on a target and offline analysis of gathered logs on PC. For most embedded platforms used today we are able to:

  • reconstruct part or complete function call tree,
  • measure time spent in each function in processor cycles,
  • measure number of function calls and
  • log manually additional information about application (e.g. thread CPU time, data size, etc ...).

Performance Profiling Tools

Key of effective performance analysis is to have precise profiling tools running directly on embedded system and tools for easy offline analysis of performance the logs. We have developed following tools which we provide together with our services:

Performance Analyzer
  • Embedded Profiler: Performs automatic code instrumentation by injecting calling of profiling functions to each function without touching its source code. Compared to available profilers like Valgrind or Oprofile our Profiler allows to reconstruct the complete call tree.
  • Performance Analyzer: GUI PC application for offline analysis of performance logs. You can analyze performance hotspots by means of several views, for example in events hierarchy tree corresponding to function calls in the original source code.
  • Logger: Portable library which allows logging of any kind of binary data with minimum overhead.

Success Story

Our customer from automotive industry struggled with performance of his C++ parser of binary navigation data. We profiled this parser directly on Android / ARM target with our Embedded Profiler tool and suggested improvements speeded up parsing speed more than four times.

Contact Us

Libor Bus
tel: +420 242441348
Email | LinkedIn

Eccam s.r.o.

Krakovsk√° 9
11000 Praha
Czech Republic (EU)
+420 242 441 347
© 2022  Eccam s.r.o.