9.1. Latency Benchmarks

Latency measurements are provided for two different environments:

The latency is measured by sending one PING sample and wait for the Echoer to return the PONG sample. The sender records the time it took to receive the PONG sample and divides the result by 2. The test is repeated a number of times for each size. Note that the end-to-end latency is measured.

Interpretation of the measurements (all numbers are reported in micro-seconds):

  • Length - The size of the DDS sample payload (UDP overhead is _not_ included) in bytes.

  • Ave - Average latency

  • Std - Standard deviation

  • Min - The minimum latency

  • Max - The maximum latency

  • 50% - The 50th percentile latency

  • 90% - The 90th percentile latency

  • 99% - The 99th percentile latency

  • 99.99% - The 99.99th percentile latency

9.1.1. Xeon

The end-to-end latency is measured between two identical machines using the test configuration below and running the RTI Connext DDS Performance Test tool.

The test environment consists of:

  • x86_64 CentOS Linux release 7.1.1503

  • RTI Perftest 3.0

  • Switch Configuration: D-Link DXS-3350 SR:

    • 176Gbps Switching Capacity

    • Dual 10-Gig stacking ports and optional 10-Gig uplinks

    • Stacks up to 8 units per stack

    • 4MB (Packet Buffer Size)

    • 48 x 10/100/1000BASE-T ports

  • Machine:

    • Intel I350 Gigabit NIC

    • Intel Core i7 CPU:

      • 12MB cache

      • 6 Cores (12 threads)

      • 3.33 GHz CPU speed

    • 12GB memory

9.1.1.1. C++ Best Effort Keyed 1 Gbps

Length

Ave (us)

Std

Min (us)

Max (us)

50%

90%

99%

99.99%

32

25

0.6

23

83

25

25

26

28

64

25

0.5

24

295

25

25

26

28

128

26

0.5

25

80

26

27

28

30

256

30

0.7

28

316

29

30

31

33

1024

44

0.6

43

334

44

44

46

49

4096

76

1.0

75

360

77

77

78

81

8192

114

0.8

112

363

114

114

115

118

63000

605

1.1

603

659

605

606

608

623

9.1.1.2. C++ Best Effort Unkeyed 1 Gbps

Length

Ave (us)

Std

Min (us)

Max (us)

50%

90%

99%

99.99%

32

24

0.5

23

299

24

24

25

27

64

25

0.6

23

308

25

25

26

28

128

26

0.6

24

276

26

26

27

29

256

28

0.6

27

316

28

28

30

32

1024

43

0.5

42

312

43

43

44

47

4096

76

0.8

74

434

77

77

78

81

8192

113

0.7

112

360

113

114

115

118

63000

604

1.3

603

790

604

606

607

624

9.1.1.3. C++ Reliable Keyed 1 Gbps

Length

Ave (us)

Std

Min (us)

Max (us)

50%

90%

99%

99.99%

32

27

1.4

25

309

27

30

31

33

64

28

1.9

26

590

27

31

33

35

128

30

1.3

27

312

29

32

33

35

256

33

1.3

29

313

32

35

36

39

1024

47

1.3

45

527

47

49

50

54

4096

80

1.8

78

594

80

80

82

86

8192

117

1.8

115

605

117

119

120

123

63000

610

1.3

605

667

610

612

613

628

9.1.1.4. C++ Reliable Unkeyed 1 Gbps

Length

Ave (us)

Std

Min (us)

Max (us)

50%

90%

99%

99.99%

32

27

1.4

25

559

26

29

30

33

64

28

1.5

25

322

26

31

32

34

128

29

1.5

25

317

29

31

32

35

256

32

1.3

30

581

32

34

35

37

1024

47

1.2

45

342

46

49

50

52

4096

80

1.3

78

356

79

81

83

85

8192

117

1.5

115

546

116

119

120

123

63000

609

1.2

607

662

609

611

613

625

9.1.2. Raspberry Pi

The end-to-end latency is measured between two identical machines using the test configuration below and running the RTI Connext DDS Performance Test tool.

The test environment consists of:

  • 2 x Raspberry Pi 4 Model B

  • 1 Gbps network

9.1.2.1. C++ Best Effort Keyed 1 Gbps

Length

Ave (us)

Std

Min (us)

Max (us)

50%

90%

99%

99.99%

32

67

5.6

62

274

65

78

80

160

64

68

5.7

63

223

66

79

81

162

128

69

5.5

64

225

67

80

82

160

256

71

5.5

67

232

70

83

85

158

512

77

5.7

72

245

75

88

90

165

1024

89

7.2

83

236

86

100

103

178

8192

182

8.6

176

635

181

183

205

405

63000

865

42.6

849

2138

860

872

894

2039

9.1.2.2. C++ Best Effort Unkeyed 1 Gbps

Length

Ave (us)

Std

Min (us)

Max (us)

50%

90%

99%

99.99%

32

64

4.5

61

220

64

65

78

159

64

67

5.3

61

214

65

77

80

151

128

68

7.1

63

2093

66

79

82

155

256

71

5.9

65

262

69

81

84

172

512

76

5.6

71

221

74

87

91

162

1024

88

7.3

81

256

85

99

106

176

8192

181

11.5

175

1395

180

182

210

412

63000

864

43.0

848

2698

860

871

893

2149

9.1.2.3. C++ Reliable Keyed 1 Gbps

Length

Ave (us)

Std

Min (us)

Max (us)

50%

90%

99%

99.99%

32

87

5.5

79

290

86

92

101

215

64

88

5.1

81

259

86

92

105

196

128

89

4.9

81

242

88

93

105

188

256

91

5.0

84

274

90

96

109

211

512

96

5.2

89

316

95

101

113

223

1024

109

7.4

101

279

106

120

131

228

8192

183

9.8

176

518

181

189

211

432

63000

870

45.2

849

2494

865

881

904

2363

9.1.2.4. C++ Reliable Unkeyed 1 Gbps

Length

Ave (us)

Std

Min (us)

Max (us)

50%

90%

99%

99.99%

32

85

5.6

78

276

83

91

102

200

64

87

5.3

79

267

86

92

103

185

128

88

5.1

81

270

87

93

103

215

256

90

7.3

82

2149

89

95

107

218

512

96

6.2

88

1713

94

100

114

180

1024

108

9.8

101

2157

105

118

131

229

8192

184

11.0

176

478

181

190

222

420

63000

868

43.5

849

2234

863

880

905

2040