Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] CDTProject creation scalability issue

Which VM are you guys using?

 

Doug Schaefer, QNX Software Systems
Eclipse CDT Project Lead, http://cdtdoug.blogspot.com


From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Rohit Bahl
Sent: Tuesday, September 11, 2007 3:58 PM
To: CDT General developers list.
Subject: Re: [cdt-dev] CDTProject creation scalability issue

 

I imagine you meant 1.8GB. The most I get out of the windows xp box is 1.6GB. I dont run out of memory when just creating projects, but do when I have other plugins that do tasks prior to the project creation and in my scenario i cant afford more than 300MB to be allocated for project creation.

Furthermore I must mention that in my scenario these are empty CDT Projects (atleast for the time being).

I am still trying to understand why project creation requires more memory than a restarted workspace that contains these created projects.

Cheers,

RB.

 

On 9/11/07, Larry Streepy <larry@xxxxxxxxxxxxxx> wrote:

I can't speak to that many projects, but I can provide a data point for
scalability.  I'm using:

CDT Version: 4.0.0.200706261300
Build id: 200706261300

on

Eclipse SDK Version: 3.3.0
Build id: I20070625-1500

I have three projects, 2 C++ and one Java.

The 2 C++ projects each have roughly 900 indexable (source and header)
files totaling ~ 500K lines of code.  The java project has about 400 java
source files.

With this, eclipse has a VM size of roughly 18GB and a RSS of > 300MB.

I have had to constantly increase the size of the Perm alloc area to avoid
running out of memory.

Anyway, just a data point for you to use as you look at memory footprint.

Thanks,
Larry.

Rohit Bahl wrote:
> Hi,
>
> In java I programmatically created 800 managed CDTProjects in a
> UMLDevelopment workspace.
> I noticed that the amount of heap memory required was approximately 700 MB.
> I then closed the eclipse workspace and launched the eclipse application
> which opened this workspace again. This workspace still contained those
> open 800 CDT managed projects but did not consume 700MB but only about
> 150 MB.
> Using the YourKit profiler I realised that there were a number of
> possibly extraneous objects that lay around during the creation of the
> cdt projects which included...
> CfgProxyCache,
> CProjectDescription,MapProxyCache,CBuildSettingsCache,CConfigurationDescriptionCache,CFolderDescriptionCache,CLanguageSettingCache
> and above all the InternalXmlStorageElement.
> So following are my questions...
> 1. Has anybody attempted to test Scalability on the new CDT4.0 and see
> how large a memory foot print it consumes.
> 2. Assuming that my application has next to no memory leaks, is there
> any reason why the workspace that creates the 800 projects should have
> such a large memory footprint, and when that eclipse workspace is
> restarted those 800 projects use siginificantly less memory.
> 3. Last but not the least, is there a way to release the cache and other
> temporary objects that might be the sideeffect of creating the
> CDTProjects ? I am looking for some free() , release() or some such api
> call that does not destroy the projects or purge its configuration, but
> cleans up all the temporary data structures which presumably consume all
> this large amount of memory.
>
> Some of the call to the CDT4.0 API that I required:
>
> ManagedBuildManager.createBuildInfo()
> CoreModel.createProjectDescription()
> CCorePlugin.createCDTProject()
> ManagedBuildManager.createManagedProject()
> ManagedCProjectNature.addManagedNature()
> ManagedCProjectNature.addManagedBuilder ()
> IManagedProject.createConfiguration()
> ManagedBuildManager.saveBuildInfo()
> CoreModel.setProjectDescription ()
>
> As a note the projects are created in a WorkspaceRunnable to prevent
> notification to listeners.
> Any thoughts might be appreciated.
>
> Cheers,
> -RB
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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

 


Back to the top