make-alpha
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: string table for pathnames


From: Greg McGary
Subject: Re: string table for pathnames
Date: 13 Oct 2003 14:29:40 -0700
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greg McGary <address@hidden> writes:

> Hi Paul & all,
> 
> I have a very large build system that has 20,847 *.o files, and
> therefore the same number of *.d files containing header file
> dependencies.  gmake stores entire contents of *.d files, leading to
> tremendous bloat.  The aggregate size of the *.d files is approx 60 MB
> (approx 2.25 million entries), yet there is only approx 260 KB (approx
> 7500 entries) of unique content.

More on this: after implementing the string table, I noticed plenty of
bloat remained.  In the above-outlined case, another 40 MB is consumed
by the "struct dep" chains associated with the *.d files.  This could
be cut 75% if dep chains were replaced by vectors of 2 (or 3) byte IDs
which are integer indexes into an array of dep-names.  Instances of
"struct file" could also be stored in an array indexed by the same
dep-name IDs.

The trouble is that such space savings only matters for huge build
systems, which aren't common, and only for systems with limited
data-space, which are also uncommon.  While these mods would be great
in the environment of one company I work for, I doubt they're useful
enough to the community at large to be accepted.

Greg




reply via email to

[Prev in Thread] Current Thread [Next in Thread]