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

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


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 :


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...

Emmanuel Lécharny

Kiran Ayyagari