How does RapiTime work?

In general terms RapiTime works as follows:

  • As an application is executed on the target, an execution trace is collected. This trace is a sequence of time-stamped values that show which parts of the application are executed;
  • For the application to generate an execution trace, the source code must be instrumented with expressions (instrumentation points, or iPoints) that indicate that a specific section of code has been executed;
  • RapiTime produces performance metrics for each part of the executed code;
  • Using the performance data and knowledge of the code structure, RapiTime predicts worst-case execution time, and identifies the best locations for optimization.
How RVS works diagram

Discover worst-case execution time (WCET) for your code

  1. Identify root function
  2. Select WCET tab
  3. Lookup data for root function
  4. Worst-case execution time value

We use the W-OverET value (see column heading). In this case “W” means worst-case, “over” means overall (i.e. including execution time of the root function and its child functions), “ET” means execution time. As you can see from this report many additional time values are also available. Worst-case execution time reported by tools is often subject to “pessimism” (i.e. reporting that the WCET is greater than is actually the case). In DO-178B we describe three ways in which pessimism can be reduced.