On Fri, Mar 29, 2019 at 01:38:30PM +0000, ondra(a)openldap.org wrote:
Full_Name: Ondrej Kuznik
Submission from: (NULL) (18.104.22.168)
If a client has thousands or more requests in flight at the same time, it has to
look up the right request every time it receives a response. As the requests are
tracked in a doubly-linked list, lookup tends to take O(n) steps whichever
direction we take and things generally get out of hand from there on.
The linked branch puts them into a TAvl for quicker lookup, with another commit
to let people test as (t)avl code is part of liblutil at the moment.
A trivial program to expose this behaviour is available at
The same program takes under a second to handle 100000 searches for
cn=monitor and children when linked to the patched libldap.
Senior Software Engineer
Symas Corporation http://www.symas.com
Packaged, certified, and supported LDAP solutions powered by OpenLDAP