[ANN] New Version of VI4 (block closures)
Anthony Hannan
ajh18 at cornell.edu
Wed Oct 23 20:24:05 UTC 2002
"Andrew C. Greenberg" <werdna at mucow.com> wrote:
> Can anyone account for this remarkable increase in speed? I would
> think that the incorporation of block closures would tend to slow,
> rather than increase the speed of the interpreter. Is something
> missing or counted differently, or should we immediately dump the
> present VM for a way more efficient machine?
The increase in speed is due to getting rid of context objects in favor
of a stack, and getting rid of the frame pointer and having all stack
accesses be referenced from the stack pointer which is in a register.
See the aboutVI4 method comment or the description at
http://minnow.cc.gatech.edu/squeak/VI4 for more details.
"Stephen Pair" <spair at acm.org> wrote:
> I just downloaded VI4 and tried the CCodeGenerator benchmark below
> (on a 1ghz PIII laptop):
> Smalltalk garbageCollect.
> [((CCodeGenerator new initialize
> addClass: Interpreter;
> prepareMethods;
> doInlining: true)
> cCodeForMethod: #interpret)] timeToRun
> Normal vm: 23,230 ms
> VI4 vm: 12,339 ms
> Fantastic!
DId you run the Normal vm with the VI4 Interpreter code loaded, so your
comparing the same thing. I did and got (on my old Pentium II):
Normal vm: 45965 ms
VI4 vm: 31404 ms
> Will you be at OOPSLA? I'm planning to demo my persistence VM at
> OOPSLA and would like to re-implement it on top of VI4 (I may gain
> back some of the performance I lost ;) ). It would be nice to sit down
> with you to get an idea how much work that would entail.
Unfortunately, I won't be at Oopsla. We will have to discuss things
over email (or chat). Do you have a description of your work posted
anywhere?
Cheers,
Anthony
More information about the Squeak-dev
mailing list
|