I took a look at this again, and your scripts don't appear to measure the
same thing at all. The Celluloid::IO script measures how quickly you can
make connections to the server, and the EventMachine script is measuring
how many times it calls the incoming data callback.

The Celluloid::IO numbers definitely still seem problematic, but you are
definitely comparing apples to oranges here

On Mon, Jun 11, 2012 at 6:14 PM, Tony Arcieri <tony.arcieri / gmail.com>wrote:

> Hi there, this does look like some sort of bug. Thanks for pointing it
> out. I haven't seen it with Reel before which is odd, because it didn't
> used to have keepalive support and so this would've impacted the tests I
> did there.
>
> As far as I can tell the entire reactor is pausing for long periods of
> time. A look a thread dump shows that it is blocking on the underlying
> system call across both MRI and JRuby. I'm getting similarly poor numbers
> on both MRI and JRuby too, so perhaps Celluloid::IO itself is implicated.
>
> Would you mind opening a ticket for it?
>
> https://github.com/celluloid/celluloid-io/
>
> On Sat, Jun 9, 2012 at 5:04 AM, Alexander Koch <lists / ruby-forum.com>wrote:
>
>> Hi Tony,
>>
>> Here is a simple sample code:
>>
>> http://pastebin.com/xsh3ETEx
>>
>> simple bench: while true; do yes "" | nc localhost 8080; sleep 0.2; done
>>
>> celluloid-io
>> ------------
>> rate: 5.890396502822116
>> rate: 4.9157809917162645
>> rate: 4.916000965003123
>> rate: 4.899874864349782
>>
>> eventmachine
>> -------------
>> rate: 19044.747009580726
>> rate: 19758.12538857938
>> rate: 18557.837996556835
>> rate: 18119.68256128121
>>
>> --
>> Posted via http://www.ruby-forum.com/.
>>
>>
>
>
> --
> Tony Arcieri
>
>


-- 
Tony Arcieri