Home · All Classes · Grouped Classes · Annotated · Functions

Identifying Performance Issues

Introduction

This document details the process required to use valgrind to identify performance issues on a device.

Process

The process for using valgrind is as follows:

  1. Build Qtopia and Qt/E for desktop in release mode adding the options -g and -O2 to the specification file for RELEASE. The specification file(s) to modify depend on the release of Qtopia being used, that is:
  2. Qtopia Version 4.x modify qmake.conf
  3. Run using:
        bin/runqtopia -qpe bin/worldtime -runmode callgrind -- --dump-every-bb=500000
  4. To profile all applications:
        bin/runqtopia -runmode callgrind -- --trace-children=yes
  5. Ctrl-C to exit the application after startup
  6. kcachegrind &

Checking Memory Usage

valgrind can provide valuable information as follows:

Things to Note

  1. Ensure View->Cycle Detection is off otherwise data will not display correctly.
  2. When determining performance measures use the following as a guide:

    Note: How was the estimate of 10M instructions/sec was determined?

  3. it is known from callgrind that 60M instructions are executed on startup.
  4. it is known that the time taken to start was 6 seconds.

Therefore, 60M / 6s = 10M instructions/second.

It is difficult to obtain accurate values as other factors effect results so when measuring startup times on device, repeat it a number of times and take the average value.


Copyright © 2008 Nokia Trademarks
Qtopia 4.3.3