This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: gcj's IO performance vs blackdown JDK
- From: Andrew Haley <aph at redhat dot com>
- To: Mohan Embar <gnustuff at thisiscool dot com>
- Cc: java at gcc dot gnu dot org
- Date: Thu, 15 Jan 2004 12:50:44 +0000
- Subject: Re: gcj's IO performance vs blackdown JDK
- References: <AUA507KHXRDATQ4W1TMKUPGLFZU86.3fec7709@p733><LFLC952X3YOIJI31LGNLA5RPZV2XYW.3fecc106@p733>
Mohan Embar writes:
> 12/26/2003 11:59:37 AM, Mohan Embar <gnustuff@thisiscool.com> wrote:
>
> >+jint java::io::BufferedReader::lineEnd (jint limit)
> >+{
> >+ jchar *pbuf = elements (buffer) + pos;
> >+ int i = pos;
> >+ for (; i < limit; i++)
> >+ {
> >+ jchar ch = *pbuf++;
> >+ if (ch == '\n' || ch == '\r')
> >+ break;
> >+ }
> >+ return i;
> >+}
>
> By changing the above native code to this:
>
> jint java::io::BufferedReader::lineEnd (jint limit)
> {
> jchar *pbuf = elements (buffer);
> int i = pos;
> for (; i < limit; i++)
> {
> jchar ch = pbuf[i];
> if (ch == '\n' || ch == '\r')
> break;
> }
> return i;
> }
>
> ...I get a savings of almost another 1s:
>
> running gcj version
> 100000
>
> real 0m16.321s
> user 0m14.518s
> sys 0m1.334s
> running jdk version
> 100000
>
> real 0m17.039s
> user 0m15.572s
> sys 0m1.098s
>
> If anyone cares to enlighten me about what compiler optimization phenomena
> explains this, I'd be interested.
Maybe register allocation. Post the assembly output.
Andrew.