Hi guys, Mavibot 1.0.0-M3 has been released last week, and announced today (we have had some difficulties with the svn trigger that was not anymore working when the web site was updating).
In the mean time, I did a huge refactoring on the code to move all the classes ina single package, which allows the methods and classes to be package protected. We also now have a single BTreeFactory to create a BTree, be it a in-memory or persisted. Now that this cleanup has been done, we have 2 big additions to make : - bulk load - transactions The bulk load feature is currently being carried by Kiran (alas, I modified the API, so he will have a bit of a hard time to modify his code...) The transactions support is on me. It's all about saving some writes by gathering many modifications in memory before flushing the pages on disk, and as it will be a cross-btree transaction, it will guarantee that ApacheDS will have real ACID modifications with Mavibot. The fact that we keep the modifications in memory across btrees will save a lot f disk write, as we may update teh same page many times if we update the same btree more than once (this is obvious for the root page, but it's also true for the evision btree and FreePages btrees). Hopefully, that will bring way better update performances. That's pretty much it for Mavibot, and I think that with those two features, we will have a usable lib ! One thing we would like to add is a better and lighter cache (ehCache is quite heavy, and when I profile the code, around 35% of the time is spent in it). ANother important feature would be to use MemoryMapped Files to increase the speed. Ah, I almost forgot : documentation !!! -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com
