Built-in db4o collections

Db4o provides its own built-in collection implementation to improve performance and decrease memory consumption:

.NET:

IObjectContainer.Ext().Collections.NewLinkedList();
IObjectContainer.Ext().Collections.NewHashMap();
IObjectContainer.Ext().Collections.NewIdentityHashMap();

The LinkedList implementation only holds the first and the last elements in RAM, all the other objects are loaded on demand. Apparently, this implementation provides good performance for sequential traversal, but it is still quite inefficient for random selection/update.

The HashMap implementation only holds an array of hash values in RAM and loads keys and objects on demand.

Db4o collections also provide the following functionality to help the programmer produce expected results with as little work as possible:

Weak Reference system ensures that objects are freed from RAM, as soon as there are no references to them.

These implementations can be faster for some cases and slower for others.