2009/2/7 Ramon Leon <ramon.leon@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.