Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: Project Model Improvements Re: [cdt-dev] CDT Summit Report

Hi Doug,

On Wed, Oct 1, 2008 at 3:50 PM, Schaefer, Doug
<Doug.Schaefer@xxxxxxxxxxxxx> wrote:
> No the real problem is that we're storing way to much data. There is a lot
> of duplication that's there now. And I mean a lot. We should only be storing
> data that the user has changed from the defaults. And we need to look at how
> the scanner discovery information is stored which also polutes this file.

True. So scanner discovery seems to add more and more stuff as
configurations are created and modified.  However for our toolchain
I've disabled scanner discovery entirely (and the storageModule is
correspondingly empty).

The 3MB I have is almost entirely -I and -D settings (and I've
aggregated as much up the tree as I can).  Part of the problem is that
when you override macros and includes on a child resource by creating
a custom resource description, the parent settings are copied into the
child wholesale.  This is clearly inefficient (and means that adding a
-D on the project doesn't add it on the C files with custom resource
descriptions...) and could be fixed.

> The problem isn't XML. There are efficient ways of loading XML, i.e. SAX. We
> also need to make sure the data structures we create from it are efficient.

With SAX you still have the problem that every time you want to write
your description you must serialize the entire object tree, don't you?
 Even if duplication and clutter is reduced, it's not long before a
project 10x the size of one that cdt developers regularly work with
(perhaps firefox or a kernel) cause the same problems to appear again.
 I just can't help but feeling that an insert / update to an embedded
db will scale better than SAX?

Of course I'm happy to be proven wrong and happy to chip in if anyone
else is intending to work on the current project model in the very
near future? Otherwise I'm tempted to take a punt on sqlite and see
where it gets me too...

Cheers,

James


Back to the top