[Date Prev][Date Next]
(ITS#9001) try_read1msg() takes O(n) steps to lookup a matching request
- To: openldap-its@OpenLDAP.org
- Subject: (ITS#9001) try_read1msg() takes O(n) steps to lookup a matching request
- From: email@example.com
- Date: Fri, 29 Mar 2019 13:38:30 +0000
- Auto-submitted: auto-generated (OpenLDAP-ITS)
Full_Name: Ondrej Kuznik
Submission from: (NULL) (184.108.40.206)
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.