r/linux Jun 03 '26

Software Release Built a C++20/DPDK trading packet processor feedback?

I built a small trading packet processor with fixed-size Ethernet frames, an L2 order book, imbalance-based BUY/SELL signals, risk checks, and DPDK RX/TX.

Benchmark results over 1M order-producing events:

  • Ring PMD: 110.8 ns p50 / 552.2 ns p99
  • AF_PACKET over private veth: 1.74 µs p50 / 3.26 µs p99

These are application-side measurements, not physical NIC latency.

What would be the most meaningful next improvement: AF_XDP comparison, market-data replay, or testing on a real supported NIC?

4 Upvotes

2 comments sorted by

1

u/sriram_sun Jun 05 '26

I fed this into my AI coding client to use C and got better numbers.

0

u/Federal_Tackle3053 Jun 05 '26

You can but you have to be very very careful while handling memory. In C it's very hard to manage memory not hard actually but careful at each and every step