[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
|