Re: "Faster, More Powerful . 64 Bits!"

From: Eric Grange (egrange_at_glscene.org)
Date: 03/19/04


Date: Fri, 19 Mar 2004 12:24:57 +0100


> It's true that the smaller files would waste at least 64k each because MMFs
> can't allocate less than a 64k page. However, the compiler only opens one
> source file at a time (ignoring the rare include file) so the 64k excess
> does not accumulate over the lifetime of the compile cycle. The memory
> usage we measured was directly attributable to using MMF to scan one large
> text file sequentially. About 25% of the file was kept in RAM. In a system
> with less free RAM, that number would be smaller. In a system with more
> free RAM, that number would be larger.

If that's one source file at a time, we're talking of 25% of a few megabytes
in the worst of all cases, the memory consumption incurred is quite a non-issue
when developper machines rarely have less than 256 MB. Or is there something
else?

> That's probably because the compiler does not write out .dcu files unless
> you specify -m on the command line.

It does, it's when rebuilding from the IDE (project/build), and when rebuild
is done, there are DCUs for each and every unit that was involved.
The main project has about 800k lines, in hundreds of units scattered
in dozens of directories.

> [..] Writing dcus takes longer than writing nothing. ;>

Sure, but the DCUs are written in that case ;)
And if an error occurs halfway through the rebuild, the DCUs that passed
have been recreated on the disk.

Eric



Relevant Pages

  • Re: How to cache output of the compiler aka ccache
    ... If for some reason I want to rebuild everything from scratch, ... the buggy make file problem does not happen with Ada. ... You never need to invoke the compiler directly -- just use the build ...
    (comp.lang.ada)
  • Re: Please Stop It Rebuilding Everything!
    ... as you can imagine this takes some time to rebuild all. ... > could be a huge source of unnecessary re-work by the compiler. ... unchanged files remain totally unchanged by the code-gernerator and are ... We are useing precompiled headers but maybe not properly, ...
    (microsoft.public.dotnet.languages.vc)
  • RE: Huge project - long build time
    ... We too are having terrible speed problems with VS.NET. ... Until the middle of last week, build times were reasonable and the compiler ... now takes 20 minutes to rebuild the system. ... > references with dll references. ...
    (microsoft.public.dotnet.general)
  • Re: Please Stop It Rebuilding Everything!
    ... as you can imagine this takes some time to rebuild all. ... could be a huge source of unnecessary re-work by the compiler. ... precompiled headers are used properly and consistently. ...
    (microsoft.public.dotnet.languages.vc)