Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] Introducing the PDOM

Hey gang,

As the next step in the evolution of the CDT DOM, I am starting work on
a persistence strategy that will allow us to greatly reduce the amount
of parsing we do in both the indexer as well as the features that use
the DOM (content assist, open decl/def, etc). The idea is to stow away
names and bindings from the DOM into a database to allow for binding
resolution and decl/ref searches to get information from this database
instead of having to reparse. I am calling this database the PDOM, or
Persisted DOM.

The premise is that database look-ups will be faster than building the
AST for header files over and over again. That should finally solve our
indexer performance problems. And if not, I am making it so that we can
simply toss away the whole thing and take another tact without
disturbing the status-quo.

I am producing a slide package on all this that I will present at the
CDT developer conference next month. In the meantime, you will notice
code going into the CVS repository as I start trying out these ideas in
optional plugins: org.eclipse.cdt.pdom.core and org.eclipse.cdt.pdom.ui.

If you have any questions, opinions, or even better - would like to help
out, please let me know. I am certainly open to opinions that make me
think this is a bad idea and save me all this work :)

Cheers,
Doug



Back to the top