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/10/30 07:41:07 UTC

Mavibot and ApacheDS problems

Hi guys,

as I said in one of my previous mails, we have one remaining issue when
we use Mavibot in ApacheDS : the way we serialize the
MavibotParentIdAndRdn class is incorrect, and when we have to read back
some entries from disk, we get some exception.

I'm currently reviewing this part of the code, and I did a little
experimentation : instead of using
ByteArrayOutputStream/ObjectInputStream to serialize/deserialize this
class, and the dependent classes RDN/AVA/StringValue/BinaryValue, I
tried to play with a plain byte[] buffer. The speed improvement is quite
impressive :

StringValue :
32 566ms for 10 000 000 StringValues -> 307 000 StringValues/s
 6 051ms for 10 000 000 StringValues-> 1 653 000 StringValues/s (5.38x
faster)
 
Ava :
55 379ms for 10 000 000 AVAs -> 181 000 AVA/s
23 083ms for 10 000 000 AVAs -> 450 000 AVA/s (2.49x faster)

Rdn :
55 214ms for 5 000 000 RDNs -> 91 000 RDN/s
29 825ms for 5 000 000 RDNs -> 168 000 RDN/s (1.85x faster)

Assuming that serialization/deserialization is one of the most costly
part of the process when adding entries, or when fetching elements form
the backend, this is not a small improvement.

I'll continue my experiment while trying to fix the Mavibot/ADS problem.

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