I started benchmarking on OpenLDAP 2.3.17 tonight. I found that on
Solaris, there was no change in performance over previous OpenLDAP
releases. However, I found that on linux, performance on just the prime
job (which doesn't measure the full performance of the server, just loads
the cache) had dropped from approximately 1500 searches/second to 100
searches/second (15X reduction in speed).
Changing portable.h to #undef REPLACE_BROKEN_YIELD brought performance
back up.
I then tested
# define REPLACE_BROKEN_YIELD 1
# undef HAVE_NANOSLEEP
This also brought performance back up.
So some part of this change likely needs to be reverted, and is also
likely the cause of the performance issue reports seen on -software.