Hello Chris,

I have profiled current version of FreeMind using the mind map I send 
you personally later and have got some important unexpected result.

Approximately a half of the processor time (43%) was used by method 
LinkRegistryAdapter.getAllLinksFromMe .


CPU hot spots
freemind.modes.LinkRegistryAdapter.getAllLinksFromMe(MindMapNode)

Time (ms)        Invocation Count
73.500  (43 %)  5.788   

It should be optimized by introducing additional HashMaps

     protected HashMap   SourceIDToLinks;
     protected HashMap  SourceIDToCuttedLinks;

managing the links attached to their source nodes

similar to current

     protected HashMap   IDToLinks;
     protected HashMap  IDToCuttedLinks;

managing the links attached to their target nodes

I have some problems with understanding the current code so that in this 
case I was not able to make the changes myself.

Particularly I could not understand, why method 
LinkRegistryAdapter.getAssignedLinksVector always put a new link into 
IDToLinks, even if it is called from deregisterLink and 
deregisterLinkTarget .

Could you pay some attention to this class and optimize it?

Best regards, Dimitry

P.S. Because of the big size of the attached map I use VM setting 
-Xmx256m to increase maximum possible heap and avoid OutOfMemory error.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Freemind-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freemind-developer

Reply via email to