Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[egit-dev] testing http://egit.eclipse.org/r/#change,3891

I am testing your change "Change I6e6f48fe: [sync] Make synchronization 14 times faster"
with the use case you describe in the commit message. I checked out Linux kernel sources 
"2.6.38-rc2" on a fresh new local branch and synchronized it against tag "v2.6.36"

With workspace mode of Synchronize View this is blazing fast :-)

But: 

in Git ChangeSet Model mode it quickly eats all available heap and stalls
(see screenshot).

I created a heap dump and used Eclipse Memory Analyzer to analyze it. It seems you
retain all GitModelCommit objects which retain their associated RevTrees and
RevCommits which in turn retain their associated byte [] arrays summing up to 900 MiB
consumed heap. (see screenshot).

Looks like we need to release as early as possible those objects that are not needed 
anymore as soon as the information needed to populate the synchronize view has 
been extracted.

--
Matthias

Attachment: Screen shot 2011-08-16 at 11.17.57.png
Description: PNG image

Attachment: retained-by-GitModelCommit.zip
Description: Zip archive


Back to the top