Howard Chu wrote:
The only interesting test (for me) is operating on a groupOfNames
couple hundred thousand members. Other folks may have other scenarios to try.
On my machine with the CPU speed set to 800 MHz a search of the form
ldapsearch ... (&(objectclass=groupofnames)(member=uid=xxxx...))
takes about 0.36 seconds without sortvals defined, referencing a group with
113,000 members. The same search with "sortvals member" defined takes 0.15
seconds. This is with an eq index on objectclass alone.
Running the CPU at full speed the before/after is 0.11 seconds vs 0.05.
These figures don't tell the whole story though...
Using a filter of the form
(&(objectclass=groupofnames)(!(member=foo)(member=bar))) the results are 0.55
seconds before, and 0.16 seconds after. Likewise at full CPU speed, the result
is 0.17 seconds before and 0.05 seconds after. So while the absolute
difference is pretty small, you can see that the overhead of processing the
(member=) filter clause has gone pretty much to zero.
-- Howard Chu
Chief Architect, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/