Re: what kind of computer for programmer ?



Randy Howard wrote:
> On Mon, 27 Jun 2005 10:58:43 -0500, Rob Thorpe wrote
> (in article
> <1119887923.577165.133820@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>):
>
>
> > I did a small test:
> > The machine I'm sitting in front of is a 2.4GHz Intel Xeon with 1GB of
> > RAM and a ATA-100 hard-disk. I'm compiling a ~16Kloc C and C++ program
> > I maintain with Microsoft Visual C++ v6. For the purpose of this test
> > I rebuilt all the files, including the header-cache file. From the
> > local disk this took 9 seconds, from a ramdisk (using AR soft ramdisk)
> > it took 3 seconds.
>
> No doubt. The problem is, projects small enough to fit easily
> into most ramdisk setups compile so quickly that they aren't
> needed. The really big projects, which do take a long time to
> compile, and really need a speeding up, are too large to fit in
> any but the really agressively sized ramdisks (think 64-bit
> address spaces, or at least >32).

A project would have to be very big indeed to fill a modern PC's
memory.

The 16Kloc project above is 600KB (measuring disk-space not file size).
Extrapolating it's likely a 1.6 million line program would be about
60MB in source form. If it's intermediate files take up say 5x the
size of the source I would need a 300MB ram-disk.

> As such, more RAM to avoid paging, parallel compiles (if your
> system supports make -j and particularly with multiple
> processors), and a very good storage subsystem are the better
> general solution. This is precisely why ramdisks have gone from
> being common to being rare over time.

If you have an extremely large project to compile, then yes a very good
storage subsystem is better. Parallel compiles are useful either way.

(If you have a project that large I'd be tempted to go to distributed
compiles, or a remote compile server with high-bandwidth disks and many
processors)

> > For compiling only a few files the ram-disk is not likely to be any
> > quicker.
>
> Exactly.

But, this is never the problem. If you change something and a handful
of files recompile, that's ok however you do it. The problem comes
when many files need to be recompiled, or an entire rebuild is needed.

> > I think the difference is also less on the free-unices with GNU tools.
>
> Any UNIX system, free or not is probably faster on equivalent
> hardware.

Probably, I mention those in particular because of the useful gcc
--pipe switch.

.



Relevant Pages

  • Re: Help is needed to compile C program using Visual Studie 2005
    ... The information I gave is after I rebuilt it in a brand new directory ... Now a new version of Visial Studio 2005, V8 is installed on my machine. ... Compile it. ... is from a previous version of the compiler, or the precompiled header ...
    (microsoft.public.vc.language)
  • Re: 1.04 Mb with nothing in file ???
    ... compiled, particularly if you have neither done Debug - compile nor run some ... I broke down and rebuilt the wb. ... Code to rebuild the worksheets and named ranges. ... Dim ws As Worksheet, ws2 As Worksheet ...
    (microsoft.public.excel.programming)
  • Re: How Javac works
    ... >date but B is not and you compile A.java then C will not get rebuilt. ... subtle -- some class file it depends on has changed, ... Javac will handle obvious, but not the subtle, right? ...
    (comp.lang.java.programmer)
  • Re: getting rid of exes and obj
    ... Delete the files and the next time you compile, ... They will be recreated when the project is rebuilt. ... Peter [MVP Visual Developer] ...
    (microsoft.public.dotnet.languages.vb)

Loading