[Vm-dev] Garbage collector issue

Clément Bera bera.clement at gmail.com
Thu Jan 26 13:52:50 UTC 2017


Is it the same behavior in Pharo 3 ?

Just wondering if this is a Spur issue or if it is non related to Spur.

On Thu, Jan 26, 2017 at 2:38 PM, Pavel Krivanek <pavel.krivanek at gmail.com>
wrote:

>
> Hi,
>
> in Pharo and in Squeak, if you try to print:
>
> Point allInstances size.
>
> several times, you will get fastly growing number of Point instances in
> most cases. But when you do:
>
> Smalltalk garbageCollect. Point allInstances size.
>
> The number of instances is quite stable.
>
> I realized that about every 5 milliseconds two new Point instances are
> created and not collected in reasonable time. I tried to find what points
> to them and I realized that nothing. That two instances contain display
> size so it was easy to find the place where these points are created. In
> Pharo it is in
>
> MorphicUIManager>>#checkForNewDisplaySize
>
> "Check whether the screen size has changed and if so take appropriate
> actions"
>
> Display extent = DisplayScreen actualScreenSize ifTrue: [^ Display].
> DisplayScreen startUp.
> World restoreMorphicDisplay.
>
> As you can see in the code, the two point instances are only very
> temporary objects. And with some experiments I realized that that behavior
> is not Point specific (eg. some problem with the @ primitive). Because if
> you replace the code of the method with only Object basicNew, the growth of
> Object instances is similar. See the attached script.
>
> pharo-ui Pharo st script2.st
>
> Cheers,
> -- Pavel
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20170126/fbd8492b/attachment.html>


More information about the Vm-dev mailing list