From: Iain Hanson (Iain.Hanson_at_[hidden])
Date: 2005-04-01 10:54:09
On Fri, 2005-04-01 at 18:02 +0300, Boris wrote:
> Iain Hanson wrote:
> > On Fri, 2005-04-01 at 13:53 +0300, Boris wrote:
> I don't think our opinions are very different. You agree that library users
> should have some control about the implementation for a better performance.
> There is really a trade-off between design and performance. As we have seen
> in another thread today's operating systems don't support asynchronous I/O
> very well.
They don't need to as long as they support threading.
> In Linux asynchronous I/O would be probably best implemented
> using epoll() as multiplexing is the traditional *unix way.
No. The unix way is to have as many orthogonal ways of doing something
as possible ;-). Because the user knows best what works well on their
platform they should probably be able to select the implementation
whether it uses epoll, user space threads, or kernel supported aio.
> A C++ network
> library which can't support efficient I/O because of its design won't be of
> much use. It could be perfectly designed but it couldn't be implemented
> using best available I/O APIs on different operating systems.
I don't understand what your trying to get at here. There are sufficient
mechanisms to does this on all the major platforms. It is just that they
happen to vary by platform.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk