The problem is that Egit/Eclipse is very slow at dealing with big Java projects (~2,000k files). Very slow means following on a windows 7/quad core/SSD setup:
- 6开发者_JAVA百科0 seconds for drawing the commit window
- another 30 s for doing the commit (would be acceptable)
- 60 s for drawing the push window (changes view)
- another 120 s for pushing (would be acceptable, too)
- 1,620 s (27 m) to synchronize between two branches (both have been checked out sometime)
For a productive environment this times are not acceptable. I don't think I'm doing something wrong, because testing everything on a completely new project results in "real world" performance.
Is this usual?
I find egit synchronize slow on my large/medium size project. I thought it may have to do with the number of untracked files in my local repository but not the case.
Each branch on my java project is at least 2000 java files, not accounting for resource, presentation layer artifacts.
I did NOT find similar issues with Git command line on windows (Mingw), for git status/diff or any command for that matter.
I also met an EGit slow response problem on Windows on my computer. It took much time to show the commit change window after pressing Ctr+Shift+3 and typing commit message was also slow.
I find it seems to EGit spends much computing effort on untracked files. For me, I only care about files with specific extensions. So I put a .gitignore file to my top directory to ignore everything except the cared file extensions. For example, my .gitignore content is:
**/*
!*.m
!*.h
!*.cpp
!*.mat
!*.xml
!CMakeLists.txt
!.project
!.gitignore
After that, the slow response problem is improved.
I find eGit is too slow if you have too many branches (git branch -r). But if you only have 10-15 branches or less, then eGit works perfectly fine, and commit window and history view shows up quickly.
精彩评论