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

Product News from the Core Team

This blog features product news right from the core developer team, once new features and functions get checked into Subversion, available as Continuous Build every 2 hours.

New String marshaller

We have revised the way we do String marshalling. We now make sure that all strings are stored along with their parent objects, in the same slot.

Doing this change was not all easy. We had to change the way slot lengths are calculated since all slots are now of variable length, whereas we could use fixed lengths for first class objects before.

Since we managed to reduce the number of IO operations both for reads and writes considerably, the change comes with a nice step up in performance.

In this benchmark we tried to document the improvements that we get from new string marshalling only. It has still been run with the old class index, so the results are nicely comparable.

Since we now store one byte of "marshalling family" information with each object, the update to the new marshalling format is seamless. Objects are updated when they are stored to the database the first time. This new procedure will easily allow us to support multiple new string encoding formats in the future.

To take advantage of the full performance improvement it is necessary to Defragment existing database files. Further details and recommendations have already been released in the recent BTree architecture posting.

Published Wednesday, May 31, 2006 2:14 AM by Carl Rosenberger
Filed under: , ,


Comments

 

Product News from the Core Team said:

As already posted in the string marshaller blog entry db4o 5.4 comes with a completely rewritten marshalling...
May 31, 2006 12:45 AM
 

Product News from the Core Team said:

You may have read the blog posts about BTrees, and the new marshallers for strings and untyped references....
June 2, 2006 12:34 AM
Anonymous comments are disabled