Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] testing,3891

On 08/16/11 11:45, Matthias Sohn wrote:
> 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).

This change touches only workspace model performance. The change set model needs to be
rewritten to improve it's performance and memory usage. I would like to do it in separate
change because it seams to be next >500 line modifications.

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

Yes this is how change set currently model works.

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

I'll look on this today. I think I need some break from debugging Eclipse platform and
Team Framework to add non-workspace files in workspace model ;). I think that by the next
Monday I'll provide some memory usage and performance improvements for change set model ;)


Best regards

GSM: +48 695 192 160

Back to the top