Skip to content

Add eventfd and io_uring ping-pong benchmarks - #25

Merged
rigtorp merged 1 commit into
masterfrom
add-linux-ping-pong-benchmarks
Oct 4, 2026
Merged

rigtorp merged 1 commit into
masterfrom
add-linux-ping-pong-benchmarks

Conversation

@rigtorp

@rigtorp rigtorp commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Add Linux ping-pong benchmarks for eventfd notifications and io_uring MSG_RING messages between two processes. Both report roundtrip and half-roundtrip latency; the io_uring benchmark warms up the rings, checks send completions and reply sequence numbers, and detects missing replies with a timeout.

The io_uring target is optional and requires liburing 2.2 or newer. Raise the CMake minimum to 3.10, fix signed/unsigned receive-loop warnings, and add basic build instructions. Simplify CI to a Linux/macOS matrix with push and PR checks, checkout v7, Linux liburing installation, and Release builds with C warnings treated as errors.

Validation:

  • All 11 targets built locally with GCC and -Wall -Wextra -Wpedantic -Werror, using liburing 2.2.
  • Configuration without liburing skips io_uring_lat and builds eventfd_lat successfully.
  • Both new benchmarks passed small-count, invalid-argument, and 100,000-roundtrip checks.
  • io_uring_lat returned an error after its peer was terminated instead of hanging.
  • macOS validation is delegated to GitHub Actions.

@rigtorp
rigtorp force-pushed the add-linux-ping-pong-benchmarks branch from 44ba591 to 67880a4 Compare October 4, 2026 21:24
@rigtorp
rigtorp force-pushed the add-linux-ping-pong-benchmarks branch from 67880a4 to bf79b91 Compare October 4, 2026 21:25
@rigtorp
rigtorp merged commit ac909ef into master Oct 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant