db4o Developer Community

db4o open source object database, native to Java and .NET
Welcome to db4o Developer Community Sign in | Join
in Search
More Search Options

Carl Rosenberger's web log

Performance progress

I really love performance tuning. Lately I did get a lot of opportunities to work on this favourite task, pairing with many of the members of our core development team. The first results are testable with the code in our CVS, if you know how to build db4o and how to turn the right switches:

com.db4o.Debug.useOldClassIndex = false;

com.db4o.Debug.useBTrees = true;

com.db4o.marshall.MarshallerFamily.LEGACY = false;

We have tried to document the latest progress by creating special circuits for the Poleposition open source database benchmark:

(1) The new BTree architecture will really boost performance for bigger databases with object counts between 1 and 50 million:

http://www.db4o.com/downloads/PpMonaco.pdf

(2) The new String marshaller reduces one indirection for reading and writing strings:

http://www.db4o.com/downloads/PpNurburg.pdf

(3) We are still working on the new MarshallerFamily for untyped references, for arrays and collections. The step up in speed should be quite similar to the one for strings.

Although the new functionality appears to be quite stable (it passes all regression tests) it is not online as a public build yet since we expect another slight database file format change and since we have not completed all automatic updaters (transitioning from existing database files will be seamless, you will hardly notice).

Therefore playing with the switches only makes sense for testing at this time, please don't even dare to think about using a db4o version with the above switches for anything productive or for upgrading existing databases.

Published Monday, May 15, 2006 10:19 PM by Carl Rosenberger

Comments

 

Kosenko Max said:

That's great!
May 16, 2006 5:01 PM
 

Tuna Toksoz said:

Wow. It's a very good news.
May 22, 2006 9:35 PM
Anonymous comments are disabled