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.
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