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

Hi Doug,
Yes I did set the value to 1610M but the issue at hand is really the difference in the amount of memory required to create CDTProjects (significantly large) with respect to the amount of memory used to house these CDT Projects once created(smaller amount required).
I am thus looking for some kind of api calls that allows me to free cache and other temporary variables created as a side effect of actually creating these CDTProjects.
This observation is based on profiling the application via YourKit.
Cheers,
Rohit.


 
On 9/11/07, Doug Schaefer <DSchaefer@xxxxxxx> wrote:

Did you set –Xmx to a really big number?

 

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 4:51 PM


To: CDT General developers list.
Subject: Re: [cdt-dev] CDTProject creation scalability issue

 


The sun jvm 1.6  on windows xp.
 

On 9/11/07, Doug Schaefer < DSchaefer@xxxxxxx> wrote:

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

 


_______________________________________________
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