[kaffe] 1.1.0 Interpreter Performance

Helmer Krämer hkraemer at freenet.de
Wed Jun 11 04:59:01 PDT 2003


On Wed, 11 Jun 2003 13:02:16 +0200
"Kevin D. Kissell" <kevink at mips.com> wrote:

> > > Our of curiousity, I configured the MIPS/Linux interpretive kaffe
> > > with --disable-debug, for speed, and ran the Embedded CaffeieneMark
> > > benchmark.  Comparing the result with an equivalent 1.0.7-based build,
> > > we can see that a bunch of things have improved a little, some things
> > > have stayed the same, and that something has slowed down dramatically
> > > in string handling which more than cancells all the other improvements.
> > > 
> > > [ test results skipped ]
> > 
> > If you've got some time to waste, it'd be nice if you could
> > compare the performance of 1.0.7's System.arraycopy() with
> > the performance of 1.1.0's System.arraycopy() (nothing serious,
> > just create a huge array and measure how long it takes to
> > copy that array).
> 
> Before going through the hassle of rebuilding/re-installing to
> try your experiment, I thought I'd look at the code.  Jeez.
> No wonder.  In 1.0.7, System.arraycopy() was a native
> method, defined in libraries/clib/native/System.c, which used
> the platform's memmov/memcpy functions.  Now
> it's a Java implementation.  Certainly easier to maintain
> that way, but it's unsurprising if it's more than 5 times slower.

It's almost the same thing with jit3 on i386 here. With a pure
java implementation of System.arraycopy() I get a String score
of 1693, with a native implementation I get a String score of 2899.
Given that System.arraycopy() is used all over the place, I'm
currently tempted to revert the pure java implementation. Any
thoughts?

Greetings,
Helmer




More information about the kaffe mailing list