[squeak-dev] Performance Profiling

Chris Muller asqueaker at gmail.com
Fri May 14 19:10:59 UTC 2010


> When I interrupt the hang, I don't see a totally consistent stack, but I'm
> usually in the middle of a #storeOn:, which seems right, and one thing which
> struck me as odd was that I will occasionally interrupt and find myself
> inside of PasteUpMorph>>storeOn:. Maybe the system is trying to serialize
> the owner ivar?

I would say, that's a very good guess..  #storeOn: probably doesn't
truncate at appropriate points.

#storeOn: is a novel piece of Smalltalk nostalgia, but I have found
there to be very little practical use for it..  :(

> It would be funny if I was accidentally trying to store the
> whole world, as that seems both wacky and cyclic:)

It's a connected object.  I wouldn't be surprised if, somehow, the
Smalltalk and it's 'globals' dictionary was also being included in the
store string.  Wouldn't *that* be wacky on materialization..?  :)

> I'm not sure if it's even a bug, but it seems that I *should* be able to
> store morphs.

You probably can with simple SmartRefStream.  You definitely can with
Ma object serialization.

> Oh wow! I just noticed something else that's interesting: experimenting with
> this has rapidly obliterated the charge on my battery, too.

Right, 100% CPU.

> Does anyone have any pearls of wisdom that might help me understand better
> what's going on here?

It seems you did.  :)



More information about the Squeak-dev mailing list