Bug 399078 - Huge slow-downs when using large repositories
Summary: Huge slow-downs when using large repositories
Status: NEW
Alias: None
Product: EGit
Classification: Technology
Component: UI (show other bugs)
Version: 2.2   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-25 08:15 EST by Laurent Goubet CLA
Modified: 2013-01-25 08:15 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Laurent Goubet CLA 2013-01-25 08:15:38 EST
From Bug 354474, comment #9
> Note that I have noticed a few infinite loops while trying the compare
> actions. I'll raise the bug(s) as soon as I have properly pinned it(them)
> down.

Actually, not infinite, just _extremely_ long (and sometimes causing java heap space errors). This will be more of an enhancement request than a bug report.

org.eclipse.team.core.mapping.provider.SynchronizationScopeManager#internalPrepareContext is called when I try and compare my models. Unfortunately, the GitContainerMapping is in the list of ResourceMappings for any "IResource" under Git versioning. Since I have a numebr of repositories with one being quite large, even comparing a mere two files is overly long and memory-intensive because of that one mapping which will cause the mappings for every single file within the repository to be computed and loaded.

What I used was (from the history view) : right-click > Compare with working tree. Since we know which files were in the right-clicked commit, isn't there any way to restrict the search or prevent the GitContainerMapping to do all of that work?

I had already noticed huge slow-downs when using EGit with large repositories ("re-indexing repositories" is a job we see active far too often (and far too long) in the progress view). This might come from the same root cause? This is most likely linked to bug 323839 as, here too, the synchronization is the cause.