chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] PATCH Re: slow polling


From: Jörg F . Wittenberger
Subject: Re: [Chicken-hackers] PATCH Re: slow polling
Date: Sat, 20 Feb 2016 19:20:56 +0100
User-agent: Mozilla/5.0 (X11; Linux armv7l; rv:38.0) Gecko/20100101 Icedove/38.4.0

Fixes for last patch.

Sorry, this had to happen sooner or later.

This patch just fixes use of outdates predicates.

Cheers

/Jörg

BTW: Interesting that this did work to some extend.  (#1 reason to begin
with the timeout queue was that the original code still uses fixnum
timeouts for backward compatibility).

Am 20.02.2016 um 18:54 schrieb Jörg F. Wittenberger:
> Am 19.02.2016 um 22:39 schrieb Jörg F. Wittenberger:
>> ...
>>> I opened ticket 1259 for this.
>>>
>>> To make the kind reviewers job easier, I'll post diffs in piecemeal here.
> 
> This patch goes after killing a single - but important - comment line in
> scheduler.scm:
> 
>     ;; This should really use a balanced tree:
> 
> Now it does.
> 
> This patch replaces the timeout queue with a balanced tree.
> 
> 
>    It does not matter so much, which kind of tree we use.  But a
>    linear list is really a bad choice.
> 
>    Assume you have a tcp-server alike: 100 client connections and
>    you read the next input line.  It's probably (but not sure) already
>    in the OS's buffer.  But chicken core will nevertheless establish a
>    timeout.  The latter will so far traverse the (linear) timeout
>    queue.  Chances are all those other timeouts are prior established
>    reads using the same timeout too.  Thus you find the insert point
>    right at the end.
> 
> 
> If you have an application which makes heavy use of chicken's core tcp
> unit (I don't use chicken's timeouts at all for this, I do use them, but
> only via thread-sleep!) I'd be interested to hear how much good or bad
> this patch does for you.
> 
> Cheers
> 
> /Jörg

Attachment: 0104-Fix-missuseofpredicate.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]