Hi Gerald,

On Sun, 2005-12-04 at 00:35 +0100, Gerald Pfeifer wrote:
> Is anyone seeing this?  With current 4.1 sources, on a machine with "only" 
> 1GB of main memory + 1GB swap, the following part of `make install`
> 
>  Adding java source files from srcdir '/cvs/gcc/trunk/libjava/classpath'.
>  Adding java source files from VM directory /cvs/gcc/trunk/libjava 
> /tmp/OBJ-1203-1719/i686-pc-linux-gnu/libjava
>  Adding generated files in builddir '..'.
>  make -f /cvs/gcc/trunk/libjava/classpath/lib/Makefile.gcj \
>   GCJ='/tmp/OBJ-1203-1719/gcc/gcj \
>   -B/tmp/OBJ-1203-1719/i686-pc-linux-gnu/libjava/ \
>   -B/tmp/OBJ-1203-1719/gcc/' \
>   
> compile_classpath='..:/cvs/gcc/trunk/libjava:/tmp/OBJ-1203-1719/i686-pc-linux-gnu/libjava:/cvs/gcc/trunk/libjava/classpath:/cvs/gcc/trunk/libjava/classpath/external/w3c_dom:/cvs/gcc/trunk/libjava/classpath/external/sax:.:'
>  
> \
>   top_srcdir=/cvs/gcc/trunk/libjava/classpath
>
> spawns a recursive make (GNU make 3.80) that consumes some 450MB of
> memory and triggers a system load of 12+, basically rendering the
> machine dead for about a minute.
> 
> Any ideas how I could nail this down?  Anyone else seeing this?

Yes, I notice the same thing on smaller (limited memory) machines.

The problem is that we really have a lot of dependencies between .java
source files, and there are really a lot of these in the core library.
We are pushing make a bit too hard it seems.

This might be caused by my patch to reduce compile time in classpath. I
know I tested memory use back then, but this might have only been with
respect to the gcj invocations. I'll try reversing this patch and retest
later today or tomorrow. But if someone has time earlier then please let
me know if reverting this helps or not.

2005-09-21  Mark Wielaard  <[EMAIL PROTECTED]>

        * lib/split-for-gcj.sh: Cut list to 3 package levels deep.

http://lists.gnu.org/archive/html/classpath-patches/2005-09/msg00171.html

Andrew Haley also had a suggestion for the step just before this one in
the build process, rewriting split-for-gcj in awk. But I believe that
would still result in the same memory use for make.
http://lists.gnu.org/archive/html/classpath-patches/2005-08/msg00145.html

Other suggestions welcome.

Cheers,

Mark

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to