public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: Ted Byers <r.ted.byers@rogers.com>
To: "J.C. Pizarro" <jcpiza@gmail.com>,
	  Tom St Denis <tstdenis@ellipticsemi.com>,
	gcc-help@gcc.gnu.org
Subject: Re: reduce compilation times?
Date: Wed, 28 Nov 2007 13:30:00 -0000	[thread overview]
Message-ID: <278873.65976.qm@web88303.mail.re4.yahoo.com> (raw)
In-Reply-To: <998d0e4a0711280449h41b0187bq370681c97d492c55@mail.gmail.com>


--- "J.C. Pizarro" <jcpiza@gmail.com> wrote:

> On 2007/11/28, Tom St Denis
> <tstdenis@ellipticsemi.com> wrote:
> > J.C. Pizarro wrote:
> > > On 2007/11/28, Duft Markus
> <Markus.Duft@salomon.at> wrote:
> > >
> > >> Hi!
> > >>
> > >> I assume, that all strategies discussed here
> are targeted at C. now what
> > >> about C++, how do things behave there? As far
> as i know C++ is much
> > >> different, and requires completely different
> thinking with regards to
> > >> splitting source in more files, etc.
> > >>
> > >> Cheers, Markus
> > >>
> > >
> > > Your comment is good.
> > >
> > > Splitting C files is different to splitting C++
> files or splitting Java files,
> > > Fortran, Ada, ObjC, ....
> > >
> > > As GCC is made in C-only then we only need to
> split C files to reduce the
> > > recompilation time if we want.
> > >
> > > For other projects made in C++, Java, Fortran,
> Ada, ObjC, ...., they are
> > > hard to split their files.
> > >
> > This is so blatantly false ... I don't know about
> fortran/ada/obj, but
> > for C++ and Java you can trivially factor your
> code.
> 
> It's not false, you get wrong.
> 
No!  Tom got it right!  Had I responded when I first
saw that nonsense, I would have used harsher language
than he did!

I don't use ObjC or Ada, but a fortran project can be
rationally divided among several compilation units, as
can C++.  I have seen fortran library projects in
which there is only one function in most of the
compilation units in the project.  Java requires on
file per class, but you can rationally design your
classes so that each is relatively small.  This allows
a single complex class to make use of a suite of small
classes, so its member functions can often be one or
two lines of code, simply referencing instances and
functions of other classes.  This is easy to do, at
least if you have sufficient experience coding in a
variety of languages!  It comes down to thinking about
your code and how best to implement what you need.

Cheers

Ted

  parent reply	other threads:[~2007-11-28 13:26 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-28  7:57 Duft Markus
2007-11-28 12:01 ` J.C. Pizarro
2007-11-28 12:28   ` Tom St Denis
2007-11-28 12:49     ` Fabian Cenedese
2007-11-28 13:03       ` Tom St Denis
2007-11-28 12:52     ` J.C. Pizarro
2007-11-28 13:17       ` Tom St Denis
2007-11-28 13:40         ` J.C. Pizarro
2007-11-28 13:51           ` Tom St Denis
2007-11-28 13:59             ` Tom St Denis
2007-11-28 15:51             ` John (Eljay) Love-Jensen
2007-11-28 13:30       ` Ted Byers [this message]
2007-11-28 12:12 ` John (Eljay) Love-Jensen
2007-11-28 12:31   ` J.C. Pizarro
2007-11-28 12:39     ` Tom St Denis
2007-11-28 12:54     ` John (Eljay) Love-Jensen
2007-11-28 12:18 ` Tom St Denis
2007-11-28 13:09   ` Ted Byers
  -- strict thread matches above, loose matches on Subject: below --
2007-11-28 16:06 J.C. Pizarro
2007-11-28 16:16 ` Tom St Denis
2007-11-28 16:34   ` J.C. Pizarro
2007-11-28 18:18     ` Tom St Denis
2007-11-28 13:56 Duft Markus
2007-11-28 14:35 ` Tom St Denis
2007-11-29  0:23 ` Tim Prince
2007-11-28 13:25 Duft Markus
2007-11-28 13:26 ` Tom St Denis
2007-11-28 12:36 Duft Markus
2007-11-27 16:07 J.C. Pizarro
2007-11-27 16:19 ` Brian Dessent
2007-11-27 16:26   ` J.C. Pizarro
     [not found] ` <5abcb5650711270804o171e1facr565beec70314af75@mail.gmail.com>
2007-11-27 16:41   ` J.C. Pizarro
2007-11-27 16:46     ` Tom St Denis
2007-11-27 17:16       ` J.C. Pizarro
2007-11-27 17:46         ` Tom St Denis
2007-11-27 18:26           ` Wesley Smith
2007-11-27 19:35       ` NightStrike
2007-11-27 19:41         ` John (Eljay) Love-Jensen
2007-11-27 19:49         ` Tom St Denis
2007-11-28  9:19           ` Brian Dessent
2007-11-28 12:07             ` Tom St Denis
2007-11-28 12:35               ` Brian Dessent
2007-11-27 17:44     ` Vladimir Vassilev
     [not found]       ` <998d0e4a0711271310k657b791cy6ad5cc5721105f4c@mail.gmail.com>
2007-11-27 22:30         ` J.C. Pizarro
2007-11-27 10:04 mahmoodn
2007-11-27 11:11 ` Andrew Haley
2007-11-27 11:15   ` mahmoodn
2007-11-27 11:30     ` Andrew Haley
2007-11-27 12:20       ` mahmoodn
2007-11-27 12:25         ` John Love-Jensen
2007-11-27 15:27           ` Tim Prince
2007-11-27 14:07         ` Andrew Haley
2007-11-28  9:01           ` mahmoodn
2007-11-28 12:11             ` John (Eljay) Love-Jensen
2007-11-30  9:15               ` mahmoodn
2007-11-30 13:33                 ` mahmoodn
2007-11-27 15:48   ` Sven Eschenberg
2007-11-27 16:27     ` Andrew Haley
2007-11-27 18:51       ` Sven Eschenberg
2007-11-27 19:21         ` Andrew Haley
2007-11-27 20:43           ` Sven Eschenberg
2007-12-01 12:20   ` mahmoodn
2007-12-03 16:14     ` Andrew Haley
2007-12-04 11:23       ` mahmoodn
2007-12-04 12:19         ` Tom Browder
2007-12-05  7:44           ` mahmoodn
2007-12-05 10:24             ` Tom Browder
2007-12-05 10:29               ` mahmoodn
2007-11-27 13:48 ` John Love-Jensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=278873.65976.qm@web88303.mail.re4.yahoo.com \
    --to=r.ted.byers@rogers.com \
    --cc=gcc-help@gcc.gnu.org \
    --cc=jcpiza@gmail.com \
    --cc=tstdenis@ellipticsemi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).