Re: Circlemud design issues

From: George (greerga@CIRCLEMUD.ORG)
Date: 04/20/98


On Mon, 20 Apr 1998, James Turner wrote:

>You are very correct that it can cause extra recompilation.  However, in
>most cases, this isn't so big an issue, at least for me; recompiling my
>code takes around a minute.

I'm assuming high end Pentium or slow Pentium II.  Not everyone has such a
fast computer to take time on.  A 486/33 I used to compile on took 20
minutes to compile the entire code base. (30 minutes if the other users did
intesive stuff.)

>But rarely is a change in a .h file going to occur only in one of the
>smaller ones.  More commonly, changes will occur in one of the bigger
>files (utils.h, structs.h), which will need a major recompile anyway.

I've been editing oasis.h often lately and I'm glad it only has to
recompile about 6 things when I modify it.  Even when you do have a fast
computer, it's annoying to wait for something that shouldn't need
recompiled.

>It's pointless to have the same group of includes in a large number of
>different files; if several headers are included in all the sources,
>it generally makes sense to put them all into one.  Particularly if
>those headers are simply prototypes (something I've done away with in
>my code, at least manually; see the script posted elsewhere for
>automatic prototype generation).

-Wmissing-prototypes

But then if you put a all prototyes together, minor changes in one file
cause everything to recompile.

>Compile-time memory requirements are not really an issue.

It is for many people, and especially C++.

>The compile process is inherently file based, and broken into passes.  The
>extra headers won't increase the compilation's memory requirements by
>anything noticeable

Have you ever played with templates extensively?

>particularly since: a) the compilation process takes much more memory
>optimizing than in headers -- should we turn optimization off? (IMO in
>general yes, but for different reasons).

Because Visual C++ cannot generate debugging info when optimizing?

>b)  the memory it adds would be tiny compared to other processes -- even
>tcsh requires over 600k of memory while running.

GCC usually reaches 3 MB of RAM, more if you have bigger files than stock.

>Memory is cheap.  Disk space is cheap.  Compile time is barely
>affected.  Recompiling is an issue, but not a large one.

Perhaps you'd like to donate money to everyone then?

--
George Greer  -  Me@Null.net   | Genius may have its limitations, but stupidity
http://www.van.ml.org/~greerga | is not thus handicapped. -- Elbert Hubbard


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST