harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregory Shimansky <gshiman...@gmail.com>
Subject Re: [drlvm] things feel slow...
Date Sat, 23 Dec 2006 07:29:18 GMT
On Saturday 23 December 2006 04:09 Stefano Mazzocchi wrote:
> Gregory Shimansky wrote:
> > I was not aware that drlvm didn't generate MethodEnter/Exit events for
> > native methods when I wrote this email. Now after applying HARMONY-2828
> > which fills this gap I've rerun my test agent and the top10 for most
> > called methods to run hello world application has changed. The new top10
> > list looks like this:
> >
> >  157114 Ljava/io/ByteArrayOutputStream;.write(I)V
> >   20093 Ljava/lang/Object;.<init>()V
> >   13975 Ljava/lang/String;.hashCode()I
> >    9301 Ljava/lang/Character;.toLowerCase(C)C
> >    7842 Ljava/io/ByteArrayOutputStream;.size()I
> >    7692 Ljava/lang/String;.<init>(II[C)V
> >    6300
> > Ljava/lang/VMMemoryManager;.arrayCopy(Ljava/lang/Object;ILjava/lang/Objec
> >t;II)V 6300
> > Ljava/lang/System;.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
> > 6248 Ljava/lang/String;.length()I
> >    6130 Ljava/lang/String;.substring(II)Ljava/lang/String;
> >
> > We seem to copy memory really too much...
>
> Not sure I get these results: assuming a "hello world" application reads
> only, why is 80% of the time spent writing?

Most of the executed code in the table is what it takes for the system java 
class loader to find and load hello world application class. I think many of 
those java.io.ByteArrayOutputStream.write calls are used in JAR files 
manifest parser which writes to memory byte by byte. Maybe there are other 
places too.

-- 
Gregory

Mime
View raw message