------- Additional Comments From ian at wasabisystems dot com  2004-12-02 15:53 
-------
I attached a simple test case.  This is based on real existing code, although I
changed all the values to hide potentially proprietary information.  When I
compile this file without optimization, it uses some 200M, and garbage collects
while compiling this file.  The compilation takes 1 minutes, 45 seconds.  (This
is much better than gcc 3.4.3, actually, which used all available memory,
garbage collected twice, and wound up swapping for 10 minutes or so before
completing).

When compiling with 2.95.3, the compiler uses 20M and completes in 37 seconds.

The compiler used to work fine when processing very large initializers.  As it
read the initializer, gcc would output the initializer to the assembler file
directly.  This capability was removed here:
    http://gcc.gnu.org/ml/gcc-patches/2000-10/msg00933.html
The followups to that message mention this type of problem.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |3.4.3 4.0.0
      Known to work|                            |2.95.3
            Summary|Crashes when compiling large|[3.4.3/4.0.0 regression]
                   |initialized arrays          |Uses lots of memory when
                   |                            |compiling large initialized
                   |                            |arrays


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12245

Reply via email to