[Q] Question on Magma (or other Persistence Engine for Squeak/Seaside)

Keith Hodges keith_hodges at yahoo.co.uk
Thu Apr 19 08:04:31 UTC 2007


Sungjin Chun,

I have used magma with pier on a typical, very hierarchical object 
model, without any MagmaCollections and seen pretty good performance 
particularly when the readStrategy is defined so as to get all the 
objects that you want in one or two server hits. The worst case 
scenarios are those which involve traversing an object model, and this 
requires many separate object reification (server hits) cycles.

It appears from my experiment in the previous email that a query on the 
MagmaCollection using the indexed field #title, is between 4 to 6 times 
faster than an simple indexed access for a similar number of elements. 
Chris will know the details as to why this might be the case.  
Nevertheless it does point towards the idea that MagmaCollections can in 
theory at least be a lot faster than the store example demonstrates. It 
may just be a case of defining an explicit numerical index for the 
MagmaCollection.

The Collection definition is:

inventory := MagmaCollection new
        addIndex: ((MaSearchStringIndex attribute: #title) keySize: 128; 
yourself) ;
        addIndex: ((MaKeywordIndex attribute: #keywords) keySize: 64; 
yourself) ;
        yourself.


just some thoughts

Keith


More information about the Magma mailing list