🟠RapidCode API Comparison

Comparison of 2 APIs and their 2 variations: for windows and for real-time

🔹 Overview

The document compares the following four variations:

APIVariationDescription

RapidCode

RapidCode

RapidCode for Windows

RapidCode

RapidCodeRT

RapidCode for INtime RTOS

RapidSequencer

RapidSequencerWin

RapidSequencer for Windows

RapidSequencer

RapidSequencerRT

RapidCode for INtime RTOS

Note: In this document, if we call out RapidSequencer, assume it applies to both variations.

🔹 Performance

Bytecode is generally slower than native code. This applies to RapidSequencer as well.

Synchronization

On an RTOS, the code synchronization mechanisms that allow for deterministic code execution also slow down the execution of code. That is to say that real-time code is slower than but more deterministic than non-real-time code and that RapidCodeRT and RapidSequencerRT are no different.

Computation Speed

In the order of decreasing speed/processing throughput:

  1. RapidCode (for Windows)

  2. RapidCodeRT

  3. RapidSequencerWin

  4. RapidSequencerRT

Determinism

In order of decreasing determinism:

  1. RapidCodeRT

  2. RapidSequencerRT

  3. RapidCode (for Windows)

  4. RapidSequencerWin

Note: RapidSequencer is single-threaded, and execution processes one statement per task per cycle. This means that if you wait for an event to happen or for some time to elapse, the runtime will wait for that condition to be met, finish executing other tasks, which could take time, then execute the waiting task.

🔹 Ease of use

IDE/Development

VariationRequirement(s)

RapidCode

- Requires using Visual Studio (or an IDE of choice) and correctly configuring headers and runtime libraries.

RapidCodeRT

- Requires the same as RapidCode but also installing the INtime SDK, configuring compilation and runtime libraries against the INtime runtime, and developing a true RTOS application.

RapidSequencerWin

- Programmable using the IDE provided by the RapidSetup tool.

RapidSequencerRT

- Programmable using the IDE provided by the RapidSetup tool. - Requires further network configuration for the INtime node.

Development Complexity

In order of increasing complexity (easier to harder):

  1. RapidSequencer

  2. RapidSequencerRT

  3. RapidCode (for Windows)

  4. RapidCodeRT

🔹 Requirements

VariationRequirement(s)

RapidCode

- Windows 10

- MSVC 2015/2017/2019/2022 runtime

- INtime Runtime (6.4 or newer)

RapidCodeRT

- Same as RapidCode

- Additional INtime node (requires multi-node runtime)

- INtime SDK (6.4 or newer)

RapidSequencerWin

- Same as RapidCode

RapidSequencerRT

- Same as RapidCode

Last updated