[Haskell-cafe] Faster timeout but is it correct?
Bas van Dijk
v.dijk.bas at gmail.com
Fri Feb 18 10:14:05 CET 2011
On 18 February 2011 01:05, Johan Tibell <johan.tibell at gmail.com> wrote:
> On Thu, Feb 17, 2011 at 5:01 PM, Bas van Dijk <v.dijk.bas at gmail.com> wrote:
>> willTimeout/old 24.34945 us 1.0 x
>> willTimeout/new 26.91964 us 0.9 x (large std dev: 5 us)
>> willTimeout/event 12.94273 us 1.9 x :-)
>> wontTimeout/old 16.25766 us 1.0 x
>> wontTimeout/new 637.8685 ns 25.5 x :-)
>> wontTimeout/event 1.565311 us 10.4 x :-)
> I find this very surprising. Both new and event eventually ends up
> using the event manager in the end. One via threadDelay (which calls
> registerTimeout) and one directly via registerTimeout. The difference
> should be that "new" also spawns a thread.
I guess the new timeout exploits parallelism because it forks a thread
do to the work with the event manager. I think that this thread is
then killed before it even begins dealing (through threadDelay) with
the event manager.
More information about the Libraries