Hey,
I've been doing some tweaking of the MemoryEntityStore, and ran the
performance tests. On my computer it can now create about 30k-40k
entities per second if I do it in bulk, and 5k-15k if one-by-one.
Obviously if you're going for performance then having as few UoW as
possible is better.
Of course, this is only for doing writes. If you want to read any of the
written Entities then you need to wait for all of the creates to
actually be applied, which might take some time. Right now it's only
done lazily on getEntityState. This needs to be enhanced with an eager
background thread I think.
Also, both MemoryES and JDBMES use SerializableState, which used to be
Serializable. An "empty" SerializableState previously took about 1000
bytes. With the change to a more optimized format using Externalizable
it is now down to 150 bytes for a barebones SerializableState, which is
much better. That should make the whole thing much more efficient to store.
There's still a loooot to be done with all of this, but so far I am
happy with the improvements of the persistence refactoring.
/Rickard
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev