Inspector performance improvement


Andrei and Alex did a great job at improving the performance and scalability of the inspector.

There are a couple of main improvements:
– Added FastTable support for the Raw presentation for all objects. This implied completing the support for the tree presentation binding to fast table.
– Moved the Items presentation for collections to FastTable.
– Improved the rendering of Glamour to no longer rely on the default Morph>>#adoptPaneColor. It turns out that using adoptPaneColor triggers a relayout of the morph, even if it is not visible. We extended PanelMorph in the context of Glamour with a less needy logic.

I will not tell you how fast it is. I would rather want you to play with it :).

The change is already in the Moose image. It is not yet in Pharo, but it will be soon. In the meantime you can be load it in Pharo 6 like this:

Gofer new
smalltalkhubUser: ‘Moose’ project: ‘GToolkit’;
package: ‘ConfigurationOfGToolkitCore’;
(#ConfigurationOfGToolkitCore asClass project version: #stable) load

To play with it, try this with both the current version and the new one and the Spec Inspector if you want (just make sure you save the image beforehand):

collection := (1 to: 100000000) asArray.
[collection inspect] timeToRun.

collection := (1 to: 100000000).
[collection inspect] timeToRun.

(for these two ones notice that Items do not appear at all in the old implementation)

[World inspect] timeToRun.

There are still a couple of issues open, such as the sorting of the columns. We would need your help with testing this, and report possible missing issues.


“Obvious things are difficult to teach.”


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: