1.2.4. C# API

The following tests have been performed by executing RTI Perftest C# Publisher and a Subscriber 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)

Ave (μs)

Std (μs)

Min (μs)

Max (μs)

50% (μs)

90%% (μs)

99%% (μs)

99.99%% (μs)

99.9999%% (μs)

32

24

3.9

23

584

24

25

29

39

584

64

24

5.4

23

580

24

25

31

41

580

128

24

7.0

23

579

25

25

32

41

579

256

25

4.6

24

598

25

26

32

43

598

512

26

7.0

25

3364

26

27

32

45

3364

1024

27

7.5

26

608

28

28

35

46

608

2048

30

5.0

29

599

30

31

37

46

599

4096

33

3.0

32

587

33

34

40

52

587

8192

38

7.4

37

621

38

39

46

56

621

16384

50

6.2

49

606

50

51

57

72

606

32768

72

11.8

71

641

73

74

80

97

641

63000

113

12.0

111

827

113

115

121

142

827

  • Reliable

Sample Size (Bytes)

Ave (μs)

Std (μs)

Min (μs)

Max (μs)

50% (μs)

90%% (μs)

99%% (μs)

99.99%% (μs)

99.9999%% (μs)

32

26

7.1

25

974

26

27

35

75

974

64

26

6.8

25

833

26

27

34

75

833

128

27

6.9

25

1875

27

28

39

78

1875

256

27

8.2

26

825

27

29

40

93

825

512

29

4.1

27

901

28

30

41

119

901

1024

30

7.3

28

849

30

31

42

115

849

2048

34

3.3

32

610

33

36

45

56

610

4096

35

8.3

33

844

35

38

47

146

844

8192

40

8.8

39

813

40

42

52

144

813

16384

53

5.2

50

636

52

56

62

220

636

32768

76

4.7

73

643

75

80

85

107

643

63000

116

11.4

113

916

116

120

126

153

916


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