This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: There is room for improvement


On Thursday, January 10, 2002, at 10:00  PM, Martin Kahlert wrote:

> The Tower generated C files are compiled by gcc-2.95.3 using
> -O3 -funroll-loops -fomit-frame-pointer (at least i think/hope so...)
>
> The binary sizes:
> Tower  : 9905816 bytes (includes the Tower Java runtime)
> gcj    : 7647948 bytes (depends on libgcc_s.so, libgcj.so, ...)
> gcj -O : 6946484 bytes (one source file crashed the compiler with an 
> ICE, so
>                         no -O for that one)

Recent versions of GCC switched to DWARF2 debugging info on many 
targets, which is currently extremely space-inefficient. I suspect this 
explains the huge binary size - the debugging info is typically now 
several times larger than the code itself. Did you try stripping the 
binary?

> The runtimes (for a big VHDL input file) are very similar, too:
> Tower  : about 21.0 sec
> gcj    : about 22.8 sec
> gcj -O : about 21.6 sec
> All times vary a by about 1-2 secs. The above values are some kind of 
> mean
> value obtained by ocular inspection :-).

Its hard to tell what the problem is without knowing what the 
application is doing. In general for computational code and I/O we 
already beat hotspot easily, but we lose when the application 
performance is more constrained by things like type checking and GC.

I have some plans for speeding up the type checks (and I think it can be 
improved quite a lot), but nothing implemented so far.

regards

Bryce.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]