2009/2/7 Ramon Leon <ramon.l...@allresnet.com>:
>> The biggest concern I have right now is speed.  I'm not
>> saying Pharo is too slow; I'm simply admitting that I do not
>> know whether it is fast enough for some of the things I want to do.
>
> +10 to this.
>
> The UI is looking really great lately, but overall the experience is it's
> just too slow.  Cracking open a raw squeak base image reminds me how snappy
> the UI used to be.  Not really complaining, it's totally bearable, but it'd
> sure be nice if the pretty UI was quick and snappy, and you are asking.
>
Sure thing
MessageTally spyOn:[self fullDrawOn: World assuredCanvas]  "where self
is an OB system window morph"

16.7% {10ms} BalloonEngine>>copyLoopFaster
11.7% {7ms} SimpleBorder>>frameRectangle:on:
6.7% {4ms} Array(SequenceableCollection)>>select:
5.0% {3ms} ByteString(String)>>=
5.0% {3ms} SmallInteger(Number)>>to:by:do:
5.0% {3ms} GrafPort(BitBlt)>>primDisplayString:from:to:map:xTable:kern:
5.0% {3ms} BorderStyle>>frameRectangle:on:
3.3% {2ms} ByteSymbol>>species
3.3% {2ms} ByteString class(String class)>>new:

total 61ms.

some hot points crying to be optimized:
  cache the OBMonticelloPackageNode>>classCategories , which get
rebuilt each time you draw the window.
this can make following numbers much smaller:
5.0% {3ms} ByteString(String)>>=
6.7% {4ms} Array(SequenceableCollection)>>select:
3.3% {2ms} ByteString class(String class)>>new:

Making SystemWindow>>drawDropShadowOn: to do nothing makes a difference:

[10 timesRepeat: [self fullDrawOn: World assuredCanvas ]] timeToRun
with shadows:    530
without:  473
~ 10% speedup

Changing the theme makes some difference (no shadows/with shadows):
- Watery 2:  50/60 ms
- Standard Squeak: 38/43 ms
- Soft Squeak: 46/55 ms
- Vistary: 56/62ms
(keep in mind these numbers are polluted with messageTally)

As to me, the theme variancy is quite acceptable - a most complex
theme (with transulency) is drawn just 50% slower than most simple
one.

As for,
3.3% {2ms} ByteString class(String class)>>new:

Total count of ByteString>>new: calls during
  GlobalCounter reset.
  self fullDrawOn: World assuredCanvas.
  GlobalCounter counters copy inspect

is 7146,
which again makes me look suspicious at OB here.. Hey! Are we drawing,
or processing a text?!?!


> Ramon Leon
> http://onsmalltalk.com
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project@lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

-- 
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to