There is one other alternative: libcoro (also by Marc Lehman). If the only
problem I was trying to solve was making fdatasync+fsync asynchronous, then
libcoro would be the best choice. My patch essentially reduces libeio to
co-routine functionality. libcoro does not require a scheduler, nor threads,
etc if there is a non-blocking variant of an existing system call that needs to
Meanwhile there are serious design issues switching to a coroutine
implementation, the code is often quite mysterious.
There are similar issues reworking the design of existing imperative I/O loops
to run asynchronously. However, the issues that need to be dealt with in an
event loop are rather easier than redesigning with coroutines.
Again, JMHO, YMMV, everyone's does. libeio is what I've chosen to attempt an
event loop implementation in RPM, try-and-see-and-measure is the only
development paradigm I believe in ;-)
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
Rpm-maint mailing list