[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: string table for pathnames,
Greg McGary <=