0

can anybody tell what is the main difference between zeromq and liburing in case of building tcp server in C? both can handle async requests and work with sockets. zeromq is older than liburing.

Manifestor
  • 575
  • 5
  • 19

1 Answers1

0

io_uring can do real asynchronous IO, zeroMQ instead uses a thread pool.

The mitigations introduced for spectre, meltdown, retbleed and friends mean that context switching is much more expensive now, so thread pools approaches become bottle necked by CPU at high load.

io_uring can sit at 20% cpu usage, while thread pools will starve due to 100% cpu usage.

Mascarpone
  • 2,516
  • 4
  • 25
  • 46