Hello.
I run some test in pharo1.1 and magma installed from configuration. I insert 100000 objects to local Magma db. I use MargaCollection for this.
And after test I have grow memory size. Before I have 90 mb. After I have 140 mb.
My code for test is:
session commit: [entitiesGroup entities add: payment]. session stubOut: entitiesGroup. session finalizeOids. Smalltalk garbageCollect
entitiesGroup entities is MagmaCollection.
During test I see that "payment class allInstances size" don't changed. Its ok. I do stub/finalize stuff for this. But memory usage grow. Its bad.
At the end of test I watch in MaWeakValueDictionary allInstances. And I found that some instance has 141000 items. And 140000 items is nil. (self select: [:each | each isNil] a MaWeakValueDictionary(size 140064)).
This is my problem What I do wrong?
Hi Denis, which version of Magma are you using? There had been a regression related to this which I remember fixing earlier this year. You may wish to get the latest package versions from the MagmaTester project of SqueakSource..
Incidentally, it is never necessary to stubOut: a MagmaCollection. MagmaCollections only keep one page of objects in memory at a time, you may adjust the size of the page with the #pageSize: message.
As Igor said, there is a cleaning process that runs every 90 seconds, but the next version of Magma will eliminate that in favor of Igor's finalization fix..
- Chris
On Mon, Oct 11, 2010 at 5:46 AM, Denis Kudriashov dionisiydk@gmail.com wrote:
Hello.
I run some test in pharo1.1 and magma installed from configuration. I insert 100000 objects to local Magma db. I use MargaCollection for this.
And after test I have grow memory size. Before I have 90 mb. After I have 140 mb.
My code for test is:
session commit: [entitiesGroup entities add: payment]. session stubOut: entitiesGroup. session finalizeOids. Smalltalk garbageCollect
entitiesGroup entities is MagmaCollection.
During test I see that "payment class allInstances size" don't changed. Its ok. I do stub/finalize stuff for this. But memory usage grow. Its bad.
At the end of test I watch in MaWeakValueDictionary allInstances. And I found that some instance has 141000 items. And 140000 items is nil. (self select: [:each | each isNil] a MaWeakValueDictionary(size 140064)).
This is my problem What I do wrong?
Magma mailing list Magma@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/magma
magma@lists.squeakfoundation.org