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


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

Re: Suggestion for option




--On Thursday, July 26, 2001 11:04:36 PM +0100 Joern Rennecke 
<amylaar@redhat.com> wrote:

>> Your hapless computer does not go on to the next file and start
>> compiling  that while it is sitting there waiting for this one to
>> finish.  And
>
> Well, it won't do that anyways with a standard make file when you have an
> error.

make -k

>
>> yes, I have seen GCC spend half an hour optimizing a file that it issued
>> an error message about.  And if you can use parallel make, which you
>> can't  always, your messages come out interleaved.  And if you are on a
>> machine
>
> So with the proposed change your messages will come out interleaved even
> more quickly.  How is that easier to read?

It's not.  My point was that parallel make is not a solution to the
problem that one file is being slowly optimized (after errors have
occurred) while the compiler could otherwise be finding errors in,
or compiling, other code.

The point is that, for example, if you have two files that each take
20 minutes to compile, and you do not want to use parallel make to
avoid scrambling up the messages, and you do use make -k, and your
first file has an error, and your second does not, and it takes you
25 minutes to fix your bug you will, currently, have zero productive
compilation happenning for twenty minutes.  After fixing your bug,
it will still take 40 minutes to compile, for a total of 65 minutes.
If the compiler stopped quickly, and went on to the second file, it
would be done with the second file by the time you were done editing
the first one, and the total process would take only 45 minutes.

I think that if the files you compile take seconds, rather than minutes,
this ismuch less of an issue.

The real question is why you think it is a good idea to do all the
RTL generation and optimization work when an error has occurred.  Is
it to get the warnings that GCC generates only during these phases?
Or is there another reason?  (Maybe you don't really think this is
good idea, but just think it isn't worth trying to change the behavior of 
the compiler because we have other more important taksks.)

-- 
Mark Mitchell                mark@codesourcery.com
CodeSourcery, LLC            http://www.codesourcery.com


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