[squeak-dev] squeak profiling

Bert Freudenberg bert at freudenbergs.de
Mon Apr 21 10:12:28 UTC 2008


On 20.04.2008, at 01:09, Riccardo Lucchese wrote:
> Hi!
>
>> Open transcript then do it on:
>>
>> 10 timesRepeat: [Transcript show: 1 tinyBenchmarks printString;cr]
> What I'm doing is:
> - run startsqueak
> - dragging a trasncript window from the tools bar to the 'desktop'
> - write the line you suggested me
> * wait for the magic, but nothing happens :)
>
> Shame on me... mm how do kids actually sort it out ? :)
>
> Thanks you for your help. I'd just like to see some numbers and than  
> shutup if
> I'm all wrong  with my initial assumptions.


Riccardo,

you posted to squeak-dev so we assumed you were familiar with Squeak.  
For beginner's questions we have a very friendly mailing list:

http://lists.squeakfoundation.org/mailman/listinfo/beginners

You should get somewhat accustomed to how to program in Squeak/ 
Smalltalk before digging into the virtual machine. If you had to  
improve the performance of a bash script, you wouldn't start with  
hacking the Linux kernel either, would you? ;-)

Anyway, we greatly appreciate help, in particular on the OLPC  
platform. Great to have a summer-of-code student on board! I am one of  
the core developers for the OLPC version of Etoys. We have an OLPC- 
specific mailing list at

http://lists.laptop.org/listinfo/etoys

This list here is for general Squeak topics, there's nothing too hard  
to ask, the fine folks around actually like answering tough questions  
(just not the kind of very basic "what do I have to do to execute  
code" type questions). The virtual machine hackers have their own  
list, as most folks here are quite happy not having to deal with C  
anymore:

http://lists.squeakfoundation.org/mailman/listinfo/vm-dev

For general improvements I tried last week to compile a Geode- 
optimized virtual machine using Rob Savoye's tool chain. It seemed to  
have worked but I saw no improvement at all. Maybe I did something  
wrong in installing his tools, though.

Most optimization possibilities I see are on the Smalltalk-level  
anyways. And it's possible to get quite some speed improvements there  
- like what Ties Stuij of OLE Nepal did, who is new to Squeak, too,  
and already improved project loading time quite a bit (granted, he was  
"initiated" by Luke Gorrie who had hands-on training be me - your best  
bet to get up-to-speed would be to find a Squeak hacker near you.  
Where are you located?)

On the VM-level I see some improvement possibilities in particular in  
drawing speed. We use a generic BitBlt implementation for everything.  
Rotated bitmap display ("WarpBlt") is taking quite some time on the XO  
due to its incredibly high-resolution display. 1200x900 pixels make a  
lot of bits to push around for the little Geode CPU. Recoding the  
inner WarpBlt loop in MMX for example could gain quite a lot, also the  
color-format conversion (Squeak is 5-5-5, the X server uses 5-6-5).

- Bert -





More information about the Squeak-dev mailing list