[squeak-dev] squeak profiling

Igor Stasenko siguctua at gmail.com
Sat Apr 19 15:11:05 UTC 2008


2008/4/19 Riccardo Lucchese <riccardo.lucchese at gmail.com>:
> >  Since the switch-case statement in C is compiled into a jump table
>  > (http://en.wikipedia.org/wiki/Jump_table) the order of the branches
>  > shouldn't affect the speed of execution (you can even start with the default
>  > branch).
>
>  Really many thanks for the pointer!, didn't know this one!
>
>
>
>  > > The process was automated with a python script and that needed a little
>  > bit
>  > > of code cleaning; after some testing I couldn't trigger any sort of
>  > > bug in the new code.
>  > >
>  > >
>  >
>  >  AFAIK the interp.c is generated with VMMaker, so for a new vm, you have to
>  > run your script again. A pure Squeak solution might be better.
>  I don't understand what you mean. I just patched the c file and
>  rebuild squeak (interp.c doesn't get generated
>  at every build.)
>

>
>  >  Are you sure that the performance gain came from these changes? If so, then
>  > the only reason for the speedup i can think of is that the most common
>  > bytecodes' code are scattered across memory pages and there are more page
>  > faults with the switch-case implementation. I wonder if you could check how
>  > many page faults does the two implementations have.
>
>  Is there some automated test that I can run to verify  just the vm troughput ?
>  A cachegrind on that test would give more interesting result.
>

I suggest you, before proceeding further you should read here
http://wiki.squeak.org/squeak/2105
and here: http://squeakvm.org

>  Thanks,
>  Riccardo
>
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list