Skip to main content

1P1C Throughput microbenchmark

This microbenchmark measures producer → TimeBase → consumer throughput using the smallest possible message type, InstrumentMessage, which encodes to just 10 bytes.

The main goal is to show relative throughput of different kinds of streams.

Each run consists of:

  • Warm-up: 10 seconds
  • Measurement: 30 seconds, during which the number of messages successfully received by the consumer is counted

The benchmark implementation is available in:
deltix.qsrv.hf.tickdb.ui.tbshell.benchmark.Test_ThroughputBenchmark


Results

Stream KindModeSpeed (msg/s)
TransientDefault4.14 M
DurableDefault1.10 M
TransientHigh Throughput4.92 M
DurableHigh Throughput2.33 M
TopicIPC24.22 M

Results were measured on developer workstation:

  • CPU: i7-13850HX, 2100 Mhz, 20 Cores
  • RAM: 32G
  • SSD: Intel 660p NVMe
  • OS: Windows 11 PRO
  • OpenJDK 17.0.12
  • TimeBase 5.6.161

Summary:

  • Transient streams deliver about 2× higher throughput compared to durable streams.
  • Enabling High Throughput mode improves performance further, most notably for transient streams, which approach 5 million msg/s.
  • Durable streams also benefit, roughly doubling throughput in this mode.
  • The Topic API shows an order of magnitude higher performance, exceeding 24 million msg/s, but follows a different data path and is not directly comparable to stream benchmarks.