[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-dev] RE: Adding MakeTargets takes a long time and consumes a huge amount of heap
|
You should try to get a heap dump of the out of memory exception. If you're using a Sun VM run it with vm args of
-XX:+HeapDumpOnOutOfMemoryError
It will then output a heap file which you can analyse with something like Eclipse memory analyzer:
http://www.eclipse.org/mat/
This should give you a better idea of what's going on.
Cheers,
James
> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Merx, Thomas
> Sent: 13 August 2008 09:59
> To: cdt-dev@xxxxxxxxxxx
> Subject: [cdt-dev] Adding MakeTargets takes a long time and
> consumes a huge amount of heap
>
> Eclipse SDK Version: 3.3.2
> JRE Version: 1.5.0_07
> CDT Version: 4.0.3
>
> Hi everybody,
>
> I am currently working on a plugin project where I want to
> programmatically add MakeTargets to my C project. The C project has a
> lot of folders and sub-folders and in some of these folders I
> add from 4
> to 8 MakeTargets resulting in a few hundred MakeTargets to
> add. The code
> I use to add one of these MakeTargets is this:
>
> ...
> try
> {
> IMakeTarget makeTgtBuild;
> String name = "build(comps, lintgen, projects)";
> makeTgtBuild = tgtMan.findTarget(container1, name);
> if (makeTgtBuild == null)
> {
> // Create 'build' make target
> makeTgtBuild = tgtMan.createTarget(prj, name, targetBuilderID);
> makeTgtBuild.setContainer(container1);
> makeTgtBuild.setBuildAttribute(IMakeTarget.BUILD_TARGET, "comps
> lintgen projects");
> if (!tgtMan.targetExists(makeTgtBuild))
> {
> tgtMan.addTarget(container1, makeTgtBuild);
> }
> }
> }
> catch(Exception e)
> {
> e.printStackTrace();
> }
> ...
>
> I call this code in a WorkspaceJob. In general this works, but I have
> two problems with this approach:
>
> 1.) The call of the method 'addTarget' takes a long time. Is
> there a way
> to speed this up?
> 2.) The more serious problem is that I ran out of heap after
> some time.
> I don't know why, but the used heap increases more and more while the
> Job that I run adds more targets. I tried to increase the heap for the
> Java VM but this does not really solve the problem but only delays it.
> Does anybody has a hint on how to solve this issue?
>
> Regards,
> Thomas Merx
>
> end
>
> *******************************************
> Harman Becker Automotive Systems GmbH
> Geschaeftsfuehrung: Dr. Wolfgang Ptacek - Michael Mauser
> - Regis Baudot
> Sitz der Gesellschaft: Karlsbad - Registergericht: Mannheim HRB 361395
>
> *******************************************
> Diese E-Mail enthaelt vertrauliche und/oder rechtlich
> geschuetzte Informationen. Wenn Sie nicht der richtige
> Adressat sind oder diese E-Mail irrtuemlich erhalten haben,
> informieren Sie bitte sofort den Absender und loeschen Sie
> diese Mail. Das unerlaubte Kopieren sowie die unbefugte
> Weitergabe dieser Mail ist nicht gestattet.
> This e-mail may contain confidential and/or privileged
> information. If you are not the intended recipient (or have
> received this e-mail in error) please notify the sender
> immediately and delete this e-mail. Any unauthorized copying,
> disclosure or distribution of the contents in this e-mail is
> strictly forbidden.
> *******************************************
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
>
>