[Date Prev][Date Next]
Re: commit: ldap/libraries/libldap addentry.c error.c ldap-int.h result.c
--On Wednesday, November 03, 2004 9:57 AM -0500 Jong-Hyuk
The following patch is to remove major cycle eaters in the synchronous
search processing in the client library. It can speed up synchronous
searches with large result sets by a significant amount.
For example, a synchronous search for 16K entries which took more than 30
seconds originally only took slightly more than one second with this
patch. Before inclusion of this patch in the release engineering /
release, I think it desirable to go through a round of
feedback/discussions in the community. For example, it seems that the
current result processing assumes a conformant communicating party at the
other end. The current patch was prepared according to the behavior of
the original result processing code and hence may need to be revised
further (see FIXME in the patch). Cheers,
Just to note, I pulled this patch in last night, & ran a benchmark with
mixed ("text*") queries, and it made no impact. I think this is due to the
size of the DB (10k entries), where the variation in data is rather
limited, so I don't think this was doing what was needed in that case.
The server did run stably (although I didn't check on memory leaks) for 30
minutes of testing.
I'm going to drop this patch onto Stanford's larger database (330k) and do
a broad search and compare it to an unpatched version.
Principal Software Developer
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html