gcj's IO performance vs blackdown JDK
Christopher Marshall
christopherlmarshall@yahoo.com
Wed Dec 3 14:26:00 GMT 2003
--- Bryce McKinlay <bryce@mckinlay.net.nz> wrote:
> On Dec 2, 2003, at 5:07 AM, Christopher Marshall wrote:
>
> > I have written a lot of programs that process huge text files a line
> > at a time at my work that are 2 to three times slower running under
> > gcj than running under
> > the JDK and I am pretty sure this I/O issue is the cause.
> >
> > run_benchmark uses Hashgen.java to generate a 100000 line text file
> > with 1000
> > character lines. On my machine (433 Mhz celeron dell laptop running
> > slackware
> > linux 9.0), it takes the JDK 11.1 seconds to run line_count against
> > the file
> > and it takes the gcj compiled version 34.6 seconds.
>
> Thanks Christopher, this is a useful test case. I suspect the problem
> here is our horribly inefficient implementation of
> BufferedReader.readLine(). Given that it is calling a synchronized
> read() method in a loop for every character in the stream, I'm
> surprised its only 3x slower! You might like to have a go at making a
> more efficient implementation, or alternatively, file an "RFE" bug in
> bugzilla.
>
> Cheers
>
> Bryce.
>
>
Thanks for the info. I suppose I have two choices. Since I view java primarily as a very useful
programming language, I might just learn how the native interface works, and call the C library
fgets().
I am, however, intrigued by the possibility of my writing a better BufferedReader.readLine(). I
don't know if I will go the distance and actually finish it, but I will take a look and see if I
can fix it.
Chris Marshall
__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/
More information about the Java
mailing list