On Wed, Aug 14, 2013 at 1:43 AM, Emmanuel Lécharny <elecharny@gmail.com> wrote:
Hi,

as I'm in the train with not much internet connection, I spent some time
trying to squeeze some more performances from the server.

The last version gave me the following results

CoreSession
===========

Mavibot 10K entries
-------------------
Add : 79s, 127/s
Search : 8964/s

Jdbm 10k entries
----------------
Add : 173s, 58/s
Search : 958/s


This is for the Core session test.

I have improved the way we do comparisons on the server. In trunk, we
always try to normalize any value (from the backend and from the
filter), even if thy both have been normalized before in any case. So I
added a flag in the NormalizingComparator which is set when this
coparator is used on the server, so that the comparison is done wth no
normalization at all. The gain is clear :


CoreSession
===========

Mavibot 10K entries
-------------------
Add : 76s, 132/s (+4%, not significant)
Search : 12 927/s (+44%)

Jdbm 10k entries
----------------
Add : 172s, 58/s
Search : 993/s (+4%)


As we can see, JDBM has a lot of trouble to cope with searches, whatever
we do. OTOH, Mavibot gain is spectacular, with a 44% improvement.

perfect, once we change the BTree to hold subtree only when more than one
value is present then it will perform even better
I will try to do this in the weekend
I'm profiling with this modification to see what's the next bottleneck.

More to come...

--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com




--
Kiran Ayyagari
http://keydap.com