Can you publish most common stacks for the
"157114 Ljava/io/ByteArrayOutputStream;.write(I)V"

Thanks,
Mikhail


2006/12/23, Gregory Shimansky <[EMAIL PROTECTED]>:
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

Reply via email to