1.2.4. C# API

The following tests have been performed executing a simplified version of RTI Perftest (the full C# API implementation for RTI Perftest is still under development). The applications are executed between two nodes, connected to a switch via Ethernet. The communication has been restricted to a single interface and the transport has been set to UDPv4.

Find information about the hardware, network, and command-line parameters after each of the tests.

Note

These numbers come from the RTI Connext DDS 6.1.0.2 patch, which improves the C# API performance in both latency and throughput. See more information about this patch in the RTI Connext C# API Release Notes.

1.2.4.1. Unkeyed, UDPv4 10Gbps Network, C#

The graph below shows the one-way latency without load between a Publisher and a Subscriber running in two Linux nodes in a 10Gbps network. The numbers are for best-effort as well as strict reliable reliability scenarios.

Note

We use the median (50th percentile) instead of the average in order to get a more stable measurement that does not account for spurious outliers. We also calculate the average value and other percentile values, which can be seen in the Detailed Statistics section below.

Detailed Statistics

The following tables contain the raw numbers presented by a simplified version of RTI Perftest for the Modern C# implementation. These numbers are the exact output with no further processing.

  • Best Effort

Sample Size (Bytes)

Samples Sent

50% (μs)

Std (μs)

Min (μs)

Max (μs)

32

566023

23

6

23

579

64

557731

24

3

23

577

128

551639

24

4

23

583

256

544291

24

6

24

576

512

525096

25

6

25

579

1024

503748

26

7

26

548

2048

445090

30

7

30

600

4096

422799

32

6

31

601

8192

367697

37

7

36

601

16384

282831

49

7

48

643

32768

197291

71

12

70

647

63000

127751

112

9

110

470

  • Reliable

Sample Size (Bytes)

Samples Sent

50% (μs)

Std (μs)

Min (μs)

Max (μs)

32

513601

26

4

24

598

64

509110

26

6

24

604

128

505560

26

7

25

601

256

495709

27

5

25

597

512

481944

28

4

26

577

1024

458969

29

6

28

635

2048

404302

33

9

31

623

4096

395579

34

8

32

631

8192

338522

40

10

38

648

16384

266148

52

9

49

693

32768

190216

74

11

71

681

63000

124261

115

11

112

507


Test Hardware

The following hardware was used to perform these tests:

Linux Nodes

Processor: Intel® Xeon® E-2186G 3.8GHz, 12M cache, 6C/12T, turbo (95W)
RAM: 16GB 2666MT/s DDR4 ECC UDIMM
NIC 1: Intel X550 Dual Port 10GbE BASE-T Adapter, PCIe Full Height
NIC 2: Intel Ethernet I350 Dual Port 1GbE BASE-T Adapter, PCIe Low Profile
OS: Ubuntu 18.04 -- gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

Switch

Dell Networking S4048T-ON, 48x 10GBASE-T and 6x 40GbE QSFP+ ports, IO to PSU air, 2x AC PSU, OS9