[squeak-dev] On the performance of our browsers... THEY TICK!

David T. Lewis lewis at mail.msen.com
Sun Jan 21 16:42:18 UTC 2018


On Sun, Jan 21, 2018 at 09:46:46AM +0100, Marcel Taeumel wrote:
> Hi, there.
> 
> Our browsers (or rather all tools) are stepping. That's bad.??
> 
> See for yourself in #updateListsAndCodeIn: or put a "Transcript showln: #verify" in PluggableListMorph >> #verifyContents. That's why we have to be very careful to add anything new to our tools. Here, #verifyContents makes a full list fetch from the model ... EVERY SECOND!
> 
> Note this:
> 1) We have a system change notifier to respond to code changes in our code-centric tools.
> 2) We have #changed:/#update: to keep the GUI up-to-date in our other ToolBuilder tools/applications.
> 3) We should get rid of Object >> #stepIn:, #stepAt:in:, #modelWakeUpIn:, #updateListsAndCodeIn:.
> 
> It might be a legacy from old MVC times. I don't know. It is not required anymore.

It is not a legacy of MVC. I put an "OSProcess trace" in PluggableListView>>verifyContents,
and the updates are efficient and happen as you would expect. In Morphic, ugh! we should
fix it as you say.

I have not really looked into it, but I suspect that most of the necessary #changed:
notifications are already in place, at least for things like browsers and debuggers
that are fully supported in MVC. So it may be just a matter of adding #update:
handlers in Morphic "views" so that the existing change notifications are handled
there, rather than relying on stepping.

Many of the #update: handlers seem to be already in place, so perhaps the stepping
is just a safety net that never got removed?

Dave

> 
> Best,
> Marcel
> 
> P.S.: Also see SystemWindow >> #stepTime and all implementors of #stepTimeIn:. ;-)
> P.P.S.: Only our Inspector needs it since we have no clue what "changed" means for an arbitrary object.
> 



More information about the Squeak-dev mailing list