You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Emmanuel Lécharny <el...@gmail.com> on 2013/08/13 22:13:40 UTC

Performance improvements

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.

I'm profiling with this modification to see what's the next bottleneck.

More to come...

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


Re: Performance improvements

Posted by Kiran Ayyagari <ka...@apache.org>.
On Wed, Aug 14, 2013 at 1:43 AM, Emmanuel Lécharny <el...@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