On 01/24/2013 05:57 AM, Rainer Weikusat wrote:
> Amos Jeffries <squid3_at_treenet.co.nz> writes:
>> On 24/01/2013 1:50 p.m., Alex Rousskov wrote:
>>> Is storing 60'000 events instead of 100 acceptable? I kind of doubt it
>>> is... :-(
>> I agree.
> As a somewhat more general remark to that: There are two obvious
> alternative implementations, namely
>
> - use a timing wheel, ie, a 'circular' hash table where new events are
> linked onto the list at (head + interval) % wheel_size. That would
> be the traditional kernel implementation of this facility (That's
> from what I remember from reading about that. I've never used it
> myself)
>
> - use a differently implemented priority queue. The usual 'obvious
> choice' would be a binary heap stored in an array
Since
* there are well-justified concerns about RAM or performance overhead of
event-based timeouts with the current event queue,
* replacing legacy event queue with a better one is a serious
stand-alone project, with no "obviously best" replacement available in
STL, and
* we need to fix ConnOpener ASAP,
I suggest that we reverse the course and focus on fd-based
implementation of timeouts instead. It will be efficient, and we can
make it correct. I can help with that.
Any better ideas for moving forward here?
Thank you,
Alex.
Received on Thu Jan 24 2013 - 17:38:49 MST
This archive was generated by hypermail 2.2.0 : Thu Jan 24 2013 - 12:00:08 MST