directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kiran Ayyagari <>
Subject Re: [Mavibot] Heads up
Date Fri, 25 Oct 2013 19:41:32 GMT
perfect, thanks for the heads up

On Sat, Oct 26, 2013 at 1:03 AM, Emmanuel L├ęcharny <>wrote:

> Hi !
> I fnally found some time in the train those last two days (nothing beats
> 7 hours in a train when it comes to code isolated from life and its
> contengencies ;-) to complete what I was working for. Here is a quick
> status :
> o we now have two BTree, in-memory and managed
> o the keys and values are stored in Holders (KeyHolder and ValueHolder)
> which store the raw representaion (ie, as byte[]). This save a hell lot
> of time when we just load a page, read one value and discard the page
> from the cache
> o a cache is now used to store Nodes and Leaves
> o when we have multiple values for a key, we store them as an array of
> values if we have less than a given number (the threshold), then we
> switch to a sub-btree
> o currently, we switch to sub-btrees when we have more than 8 values
> It works, I was able to use it in ApacheDS, and I was able to inject 100
> 000 entries in the server in around 30 mins (around 55 addition per
> second).
> There is room for improvements though :
> o when we switch to sub-btree, we inject all the array's values one by
> one, and the sub-btree is written on disk as many times as we have
> values. This is sub-optimal
> o the findPos(K) method is called too many times (twice more than needed)
> o the sub-btree are not cleaned when we don't need them anymore
> o we need more tests, especially performance tests
> o the code needs a bit of cleanup, so does the Javadoc
> I will commit what I was working on in the last 3 weeks, and we may cut
> a 0.2 just after.
> --
> Regards,
> Cordialement,
> Emmanuel L├ęcharny

Kiran Ayyagari

View raw message