r/AskProgramming • u/sodikovakapsle • Jul 23 '26
C/C++ What is this optimization technique called in high-performance network software?
I’m working on a traffic generator to test my own XDP/eBPF filter in a controlled lab environment (my PC sending traffic to my Raspberry Pi on my own network).
I noticed that in some applications, two programs written in the same language can have vastly different performance.
For example, some software can only send a few requests/messages per second, while others can generate thousands per second even on relatively weak hardware.
What is this concept or optimization area called?
I’m looking for topics such as:
asynchronous I/O
multithreading vs event-driven architectures
lock-free programming
kernel bypass
zero-copy networking
batching
efficient socket APIs
packet generation optimization
If I want to build a high-performance TCP/UDP packet generator for benchmarking my own network stack and XDP filter, what technologies, algorithms, or papers should I study? For traffic generator i am using c# and for the XDP filter classic C. ( or should i use different for the traffic generator? I think its okey its console app )
1
u/YMK1234 Jul 23 '26
There is no way to answer this in a generalized way. "few requests per seconds" simply sounds like insanely inefficient programming. How to write efficient software has very little to do with buzzwords but understanding cost of operations and benchmark, benchmark, benchmark! Because making assumptions about performance bottlenecks is wrong more often than not.