Changes for version 0.012 - 2026-06-13
- Add Linux::Event::XS for hot reactor paths.
- Replace the external epoll-wrapper runtime dependency with native XS epoll support.
- Add an XS fd registry used by the loop and epoll backend.
- Add a reusable XS epoll event buffer and event dispatch fast path.
- Add XS watcher construction and direct watcher dispatch fast paths.
- Add an internal XS timer heap while preserving the public timer API.
- Add an events-only run_once fast path for loops with no pending timers.
- Preserve the public readiness API while reducing Perl allocation and dispatch overhead on hot reactor paths.
- Add and maintain the reactor benchmark harness under bench/ for echo_tcp, pipe_churn, watcher_churn, callback_storm, and timer_heap comparisons.
- Refresh README, POD, tests, MANIFEST, and release metadata for the XS reactor optimization release.
- Treat Linux::FD::Event, Linux::FD::Signal, and Linux::FD::Pid as optional feature dependencies with clear lazy-load errors when the feature is used.
Documentation
Modules
Linux-native readiness event loop for Perl
Contract for readiness backends used by Linux::Event::Loop
Built-in XS epoll backend for Linux::Event
Readiness-based event loop for Linux::Event
pidfd-backed process-exit subscriptions for Linux::Event::Loop
Internal monotonic timer queue for Linux::Event::Loop
signalfd adaptor for Linux::Event::Loop
eventfd-backed wakeup primitive for Linux::Event::Loop
Mutable readiness watcher handle for Linux::Event::Loop
XS hot-path helpers for Linux::Event
Provides
in bench/lib/Linux/Event/Bench.pm
in lib/Linux/Event/Pid.pm
in lib/Linux/Event/Signal.pm
Examples
- examples/01-after.pl
- examples/02-at.pl
- examples/03-watch-pipe.pl
- examples/04-watch-replace.pl
- examples/05-watch-oneshot.pl
- examples/06-unwatch-safe.pl
- examples/07-signal.pl
- examples/08-waker-thread.pl
- examples/09-waker-fork-pipe.pl
- examples/10-pid.pl
- examples/90-bench-oneshot.pl
- examples/91-stress-oneshot-edge-safe.pl
- examples/93-regress-stop-no-backend-wait.pl
- examples/94-regress-epoll-oneshot-rearm.pl
- examples/README.md
- examples/all.pl