Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: RE: [cdt-dev] Major PDOM changes in HEAD

I wonder if the PDOM/project could use the "Referenced Projects" feature to combine multiple project PDOMs-databases into the current project.


-------- Original-Nachricht --------
Betreff: RE: [cdt-dev] Major PDOM changes in HEAD
Datum: Fri, 19 May 2006 10:09:59 -0400
Von: Doug Schaefer <DSchaefer@xxxxxxx>
An: "CDT General developers list." <cdt-dev@xxxxxxxxxxx>

> Hmm, now that I've met my performance targets using caching, maybe I'll
> put
> it back to PDOM per project. The other problem I ran into was the amount
> of
> of memory mapped chunks allowed under Windows which I addressed by making
> the chunks bigger.
> 
> I have to agree that this would make the reuse feature easier. I'll sleep
> on
> it but if you have a strong opinion let me know. The good news is that it
> should be easy to change back (and is a good test of my architecture :).
> 
> Doug Schaefer, QNX Software Systems
> Eclipse CDT Project Lead, Tools PMC member
> http://cdtdoug.blogspot.com
>  
> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On
> Behalf Of Doug Schaefer
> Sent: Friday, May 19, 2006 8:39 AM
> To: CDT General developers list.
> Subject: RE: [cdt-dev] Major PDOM changes in HEAD
> 
> I don't think I'm doing anything to preclude these requirements. The PDOM
> is
> flexible and theoretically you can run the indexer and create a separate
> database file.
> 
> The issue with multiple databases will be how to link all the data
> structures together. The PDOM fills in as an underlying structure during
> fast DOM parses and access to this data needs to be fast. I imagine there
> are ways to do it, but I think you'll always need one root file per
> workspace as the starting point.
> 
> Doug Schaefer, QNX Software Systems
> Eclipse CDT Project Lead, Tools PMC member
> http://cdtdoug.blogspot.com
>  
> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On
> Behalf Of Ed Warnicke
> Sent: Friday, May 19, 2006 4:59 AM
> To: CDT General developers list.
> Subject: RE: [cdt-dev] Major PDOM changes in HEAD
> 
> We are speaking about something quite similar.  My thought was
> to distribute the offline-index in the project with the source code from
> the SCM as you suggest.  You are correct that this basically entails
> either two dbs (the local changes + the version that comes
> >from the SCM) or db merging (which just *sounds* ugly and painful) :)
> 
> Ed
> 
> On Fri, 2006-05-19 at 10:48 +0200, Schorn, Markus wrote:
> > Let's try to figure out whether we are talking about the same thing.
> > What I
> > like to have is:
> > (1) create an index for several projects on some machine.
> > (2) use the offline-index(es) in multiple workspaces.
> > (3) once you have the offline-index you still want to locally index
> > those 
> > files that have been changed locally in the workspace.
> > 
> > To make (1) and (2) happen it is helpful to work on a per-project basis,
> > as 
> > every workspace can contain a different set of projects. It's hard to
> > make assumptions on what projects are finally combined in an arbitrary
> > workspace,
> > I'd like to avoid the assumption that the offline-indexes for all
> > projects have to come from the same machine/location.
> > 
> > In our commercial product we store the offline-indices in the project
> > with the
> > source-code and share them via the same mechanisms as the source-code
> > (i.e. an
> > arbitrary SCM-Tool). This could be an approach that we can follow in
> > CDT. Can you share your idea of pushing the offline-index to other
> > workspaces?
> > 
> > Solving (3) is a little bit harder and I defer discussing this until I
> > have
> > understood your ideas on (1) and (2).
> > 
> > Markus.
> > 
> > > > > > -----Original Message-----
> > > From: cdt-dev-bounces@xxxxxxxxxxx 
> > > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Ed Warnicke
> > > Sent: Freitag, 19. Mai 2006 08:31
> > > To: CDT General developers list.
> > > Subject: RE: [cdt-dev] Major PDOM changes in HEAD
> > > 
> > > I'm not sure I follow you.  The model I was considering was
> > > having a central service that does builds the database, with
> > > the result being pushed out to the team.
> > > 
> > > Ed
> > > On Fri, 2006-05-19 at 08:22 +0200, Schorn, Markus wrote:
> > > > Hmm, if you do offline indexing you really also want to be 
> > > able to share
> > > > the results within a team. For that you have to be able to combine
> > > > multiple
> > > > databases in your queries.
> > > > Markus. 
> > > > 
> > > > > -----Original Message-----
> > > > > From: cdt-dev-bounces@xxxxxxxxxxx 
> > > > > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Doug Schaefer
> > > > > Sent: Freitag, 19. Mai 2006 06:30
> > > > > To: CDT General developers list.
> > > > > Subject: RE: [cdt-dev] Major PDOM changes in HEAD
> > > > > 
> > > > > Hi Ed,
> > > > > 
> > > > > This shouldn't prohibit off-line indexing. The database 
> > > > > doesn't really know
> > > > > about projects or workspaces. It only knows about files and 
> > > > > the symbols,
> > > > > macros, inclusions, amongst other things that are contained 
> > > > > in those files.
> > > > > This should make it easy to copy information from one 
> > > > > database to another.
> > > > > 
> > > > > Now, of course the off-line indexing will need to be done 
> > > > > with a headless
> > > > > Eclipse instance with the appropriate Application extension 
> > > > > to run it. But
> > > > > more thought and work needs to be put in it to figure out the 
> > > > > right way to
> > > > > do this.
> > > > > 
> > > > > Doug Schaefer, QNX Software Systems
> > > > > Eclipse CDT Project Lead, Tools PMC member
> > > > > http://cdtdoug.blogspot.com
> > > > >  
> > > > > -----Original Message-----
> > > > > From: cdt-dev-bounces@xxxxxxxxxxx 
> > > > > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On
> > > > > Behalf Of Ed Warnicke
> > > > > Sent: Thursday, May 18, 2006 9:32 PM
> > > > > To: CDT General developers list.
> > > > > Subject: RE: [cdt-dev] Major PDOM changes in HEAD
> > > > > 
> > > > > Doug,
> > > > > 	Doesn't a DB per workspace sort of kill any future hopes
> > > > > of pre generating the DB offline?  I'm not talking about 
> > > > > remoting here,
> > > > > just plain old fashion prepopulating...
> > > > > 
> > > > > Ed
> > > > > On Thu, 2006-05-18 at 21:26 -0400, Doug Schaefer wrote:
> > > > > > Actually, the PDOM was always in the .metadata directory. 
> > > > > Now, instead of
> > > > > > having one database per project, there is only one database 
> > > > > per workspace.
> > > > > > 
> > > > > > And because the PDOM is memory mapped into the Eclipse 
> > > > > process, it has to
> > > > > be
> > > > > > local. Right now I'm having enough trouble squeezing reasonable
> > > > > performance
> > > > > > out of a strictly local architecture. I have no idea how to 
> > > > > properly do
> > > > > > remote projects. For that, I'll need some help :).
> > > > > > 
> > > > > > Doug Schaefer, QNX Software Systems
> > > > > > Eclipse CDT Project Lead, Tools PMC member
> > > > > > http://cdtdoug.blogspot.com
> > > > > >  
> > > > > > > > > > > -----Original Message-----
> > > > > > From: cdt-dev-bounces@xxxxxxxxxxx 
> > > > > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On
> > > > > > Behalf Of Greg Watson
> > > > > > Sent: Thursday, May 18, 2006 9:07 PM
> > > > > > To: CDT General developers list.
> > > > > > Subject: Re: [cdt-dev] Major PDOM changes in HEAD
> > > > > > 
> > > > > > Doug,
> > > > > > 
> > > > > > I know this is a bit left of base, bit I wonder if this 
> > > change is  
> > > > > > going to make support for remote projects more 
> > > difficult? I had  
> > > > > > imagined that if the PDOM database was stored in the project  
> > > > > > directory then it should be able to be generated on the remote  
> > > > > > machine, but still be visible to Eclipse running on the local  
> > > > > > machine. If the database is stored at the workspace 
> > > level then I  
> > > > > > don't think this approach will work any more (unless the whole  
> > > > > > workspace is remote.)
> > > > > > 
> > > > > > Just a thought.
> > > > > > 
> > > > > > Greg
> > > > > > 
> > > > > > > > > > > On May 18, 2006, at 5:47 PM, Doug Schaefer wrote:
> > > > > > 
> > > > > > > Hey gang,
> > > > > > >
> > > > > > >> > > > > >> > > > > > I have made some major last minute
> changes to improve PDOM  
> > > > > > > performance. First, the PDOM database is now per 
> > > > > workspace instead  
> > > > > > > of per project. This will allow projects to share 
> > > > > indexing results  
> > > > > > > with each other. It may also lead to weird results 
> > > but, for the  
> > > > > > > moment, it is worth it.
> > > > > > >
> > > > > > >> > > > > >> > > > > > Also, I have done some caching so that
> the indexer 
> > > accesses the  
> > > > > > > PDOM less often during a parse. This has given me a 
> > > > > Firefox index  
> > > > > > > time of 13 minutes compared to 53 minutes in CDT 
> > > 3.0.2. This may  
> > > > > > > fluctuate as I spend the rest of this release and 3.1.1 
> > > > > making it  
> > > > > > > more accurate, but it is a huge step forward.
> > > > > > >
> > > > > > >> > > > > >> > > > > > At any rate, I apologize for the late
> churn and 
> > > promise to make  
> > > > > > > sure indexing and the features that use the index remain 
> > > > > robust for  
> > > > > > > our GA release.
> > > > > > >
> > > > > > >> > > > > >> > > > > > Cheers,
> > > > > > >
> > > > > > > Doug Schaefer, QNX Software Systems
> > > > > > >
> > > > > > > Eclipse CDT Project Lead, Tools PMC member
> > > > > > >
> > > > > > > http://cdtdoug.blogspot.com
> > > > > > >
> > > > > > >> > > > > >> > > > > >> > > > > >> > > > > >
> _______________________________________________
> > > > > > > cdt-dev mailing list
> > > > > > > cdt-dev@xxxxxxxxxxx
> > > > > > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > > > > 
> > > > > > _______________________________________________
> > > > > > cdt-dev mailing list
> > > > > > cdt-dev@xxxxxxxxxxx
> > > > > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > > > > _______________________________________________
> > > > > > cdt-dev mailing list
> > > > > > cdt-dev@xxxxxxxxxxx
> > > > > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > > > _______________________________________________
> > > > > cdt-dev mailing list
> > > > > cdt-dev@xxxxxxxxxxx
> > > > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > > > _______________________________________________
> > > > > cdt-dev mailing list
> > > > > cdt-dev@xxxxxxxxxxx
> > > > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > > > 
> > > > _______________________________________________
> > > > cdt-dev mailing list
> > > > cdt-dev@xxxxxxxxxxx
> > > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > _______________________________________________
> > > cdt-dev mailing list
> > > cdt-dev@xxxxxxxxxxx
> > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > > 
> > _______________________________________________
> > cdt-dev mailing list
> > cdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev

-- 


Bis zu 70% Ihrer Onlinekosten sparen: GMX SmartSurfer!
      Kostenlos downloaden: http://www.gmx.net/de/go/smartsurfer
    


Back to the top