ReadStrategy details
Hilaire Fernandes
hilaire at ofset.org
Mon Jul 9 10:34:28 UTC 2007
Florian Minjat a écrit :
> Hi again Chris,
>
> Chris Muller wrote:
>> Hi Florian, recall from http://wiki.squeak.org/squeak/2638:
>>
>> "The minimumDepth is how far it reads for any object, all objects,
>> every time, all the time."
>
> My understanding of this is that if I ask Magma for a Player object with
> a minDepth of 3, it will follow references and reify objects on a depth
> of 3.
>
>> "As a programmer, you can change this default 0, 1, 2 or 3 (or maybe
>> even 4, but I wouldn't go beyond that) by supplying a ReadStrategy."
>
> My problem is that my application is a game. And every 12h it need to go
> through the whole hierarchy of the whole players to update them. If I
> let the minDepth to 1, the read, update and commit of one player takes
> something like 15min due to the heavy number of requests to magma (lot
> of very small objects). So I want to reify the whole object hierarchy of
> my Player before updating it. Therefore I use a minDepth of 10 (the max
> depth is :
> Player->(1)Dungeon->(*)MonsterRoom->(*)Adventurer->(1)Treasure->(*)SmallInteger).
I got such a kind of problem (well I envision I will have it). One
solution I found was to redesign my objects to get a more flat structure
where it is easy to do where: request to retrieve the exact object I
need. Try to get more top level Magma collection in your design.
Not sure it can apply to your problem...
Hilaire
More information about the Magma
mailing list