Boost logo

Boost Users :

From: Radu-Adrian Popescu (rpopescu_at_[hidden])
Date: 2007-05-23 01:34:07


Although I do somewhat agree with Cliff, I find the phooey
argumentation even better.
I've read some papers that basically stated that using a thread based
model with blocking IO is equivalent with using asynchronous IO.
Performance of either implementation is something that definitely
depends on the underlying OS and the author's skills, however common
knowledge teaches us that the asynchronous IO approach is more
performant, most likely due to deficiencies of the OS's thread
implementation.
I've written several applications using either approach, for the async
style using Mina (Java) and ACE, and although I've been quite pleased
with the turnout, I do find that a threading/blocking based approach
is much easier to understand; but then again maybe I'm just a little
bit thick.
Oh and !phooey to the completion_condition design, it's excellent!

On 5/23/07, Caleb Epstein <caleb.epstein_at_[hidden]> wrote:
> On 5/22/07, Cliff Green <cliffg_at_[hidden]> wrote:
>
> > Even if Asio didn't provide nice default handling of
> > "message boundaries", it's pretty easy to write the logic
> > yourself in a non-blocking design, whether using an async
> > (proactive) or reactive model.
>
> I'd say that its not asio's job to provide any messaging semantics,
> and I applaud Chris for keeping the library focused on its core goals.
> Higher level functionality can come later, but you have all the tools
> you need to do this in asio already.
>
> I personally find that having to implement a "connection" class for a
> given communications protocol encourages good design. You end up
> breaking the protocol down into small functions that are easy to read
> and debug. Your class ends up being a nice little FSM, which is the
> Right Way to do this sort of thing anyway.
>
> Phooey to blocking reads.
>
> --
> Caleb Epstein
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>

-- 
Radu-Adrian Popescu
Front Office Software Engineer
Optiver Holding B.V.
De Ruyterkade 112
1011 AB Amsterdam
Office +31-(0)20-531-9000
Mobile +40 723 33 55 73

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net