[Date Prev][Date Next]
Re: (ITS#4717) Efficient handling of response lists in C-API
At 10:14 AM 10/22/2006, email@example.com wrote:
>Full_Name: Pierangelo Masarati
>Submission from: (NULL) (184.108.40.206)
>Submitted by: ando
>In proxies, we occasionally need to mark some response messages as "don't care".
> This is slightly different than "abandon", in the sense that, for performance
>and band occupation, an abandon would likely get too late to the remote server,
>but if the response is not removed from the list that would grow and waste
>In realistic cases we profiled proxies that spend 50-60% of the CPU time running
>the list of messages to check if any of them has been abandoned.
>The proposed fix consists in:
>- keeping abandoned msgid's sorted, so that a bisection algorithm can be used to
>check if a msgid has been abandoned
>- add a ldap_int_abandon() call that marks a message as "abandoned" without
>actually sending an "abandon" operation. This call is, by now, private
>(ldap_int_) since its use in normal clients would make little sense. However,
>whenever it does make sense, there's no objection in making the call public
>(sort of ldap_abandon_mark()).
I rather not name this "abandon" as it doesn't send an
Abandon request. Maybe name this "discard" instead. E.g.,
>With this change, the overall CPU used to check response list in the very same
>test cases dropped to less than 1%.