About this Example
==================
This directory contains a QP code used for performance measurements,
as described in the "Application Note: QP/C++ Performance Tests and
Results" (http://www.state-machine.com/doc/AN_QP-Cpp_Performance.pdf)

The performance measurements are performed on the EFM32-SLSTK3401A
board (Pearl Gecko Starter Kit) with the IAR EWARM toolset.


The Test Code 
=============
The test code used for preformance testing is the slighlty modified
Dining Philosophers Problem (DPP) application. To avoid any manual
mistakes, the application code is generated by the QM modeling tool.
Two QM models are provided:

dpp_qhsm.qm - uses the QHsm-based state machine implementation
              strategy  
dpp_qmsm.qm - uses the QMsm-based state machine implementation
              strategy  

To apply the specific implemenation strategy, you need to generate
code from one model or another *before* you build the target code.


The Development Toolset
=======================
The performance testss are done with the IAR EWARM version 7.60
toolset. The measurements are generally done by taking differences
in the CYCLECOUNTER register avaialable in the Pearl Gecko CPU.


Support Code for EFM32-SLSTK3401A Board 
=======================================
The directory 3rd_party\efm32pg1b contains the CMSIS-compliant
device code for the EFM32PG1B200F256GM48 MCU. Please see the README.txt
file in this folder for more details.


