Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
async networking
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2006-02-07 (17:45)
From: Bardur Arantsson <spam@s...>
Subject: Re: async networking
skaller wrote:
> On Mon, 2006-02-06 at 19:34 +0100, Bardur Arantsson wrote:
>> However, if you want very high-performance networking
>> you'd be better off with something closer to the metal, i.e. something
>> like a libevent wrapper 
> Argg no. Libevent isn't a library, it doesn't control invert.
> It is a monolithic framework. Therefore it is not very useful because
> your code will no longer be composable. In particular,
> there is no way to compose two such frameworks, for example
> you cannot use it with an event driven GUI framework.

Note that I said 'high-performance'.

Point #1: select() and anything based on it (I believe Equeue still is 
though I haven't looked at it for quite a while) is woefully inadequate 
for high performance I/O except in very specific circumstances.

Point #2: It is not customary for UI applications to require 
particularly high-performance I/O, thus rendering the non-composability 
issue moot.

I'm _not_ recommending libevent for general use, just if you want high 
performance with an easily switchable backend implementation.


Bardur Arantsson

- Your Honor, let the record reflect that the Defense just grazed
my Johnson.
                                               John, 'Ally McBeal'