[kaffe] 1.1.0 Interpreter Performance
stack at cs.utah.edu
Wed Jun 11 05:33:01 PDT 2003
On Wednesday, June 11, 2003, at 06:01 AM, Helmer Krämer wrote:
> 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
>>>> we can see that a bunch of things have improved a little, some
>>>> have stayed the same, and that something has slowed down
>>>> in string handling which more than cancells all the other
>>>> [ 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
optimize the jitter! :)
More information about the kaffe