2012-04-21 91 views
6
優化例如:It

我在相當大的和複雜的Java項目的(超過一百萬行的代碼,更多)和十年曆史價值的使用例如:It。
在這裏,我正面臨嚴重的EGit性能問題,因爲即使是Java文件中的一小行更改,EGit也會重新編制索引,導致整個系統變慢。 事實上,即使git的命令行是有點慢作爲「混帳地位」大約需要命令行一分鐘,但我可以用這個性能問題生活,例如:It &提交對話框緩慢的問題(link)。因爲我可以使用git命令行進行提交和更新,但我不希望權衡我的Eclipse性能,因爲這會影響生產力。建議對Eclipse的

下面是我做的谷歌搜索,並要求周圍的人嘗試:在排除文件

  1. 添加的所有文件夾類。確實嘗試了將類文件夾放在.gitignore中以及暫時。
  2. 給予足夠的時間讓機器保持開啓一天來完成索引。
  3. 在開發過程中,在Eclipse工作臺中關閉了Git staging,歷史和所有其他日食視圖。
  4. 「git gc」 - 它在命令行性能上有所不同,但EGit幾乎沒有任何區別。
  5. 未檢查Git的標籤裝飾器。首選項 - >常規 - >外觀 - >標籤裝飾。
  6. 刪除從路徑cygwin的,因爲在JGit可能使用的cygwin的路徑轉換論壇某處讀取。
  7. Eclipse中的窗口高速緩存從10增加到70m(首選項 - >團隊 - > Git - >窗口高速緩存)。

PS:Git倉庫指向svn的遠程存儲庫。另外,我是git新手,所以在安裝時可能會犯一些錯誤,所以請隨時指出任何事情。

這裏是我的系統信息,我沒有太多花哨的硬件規格,但有些RAM不遺餘力(8GB)。

  • 混帳GUI版本0.16 GITGUID
  • Git版本:1.7.10.mysysgit.1
  • JDK 1.6_025
  • Eclipse版本:3.7.2 Java EE版本與參數-Xms1536m -Xmx1536m
  • 例如:It:1.3.0.201202151440
  • Windows 7處理器:酷睿2 2.6GHZ

回答

0

這是CVCS(集中式VCS)和DVCS(分佈式)VCS之間的問題:

  • 一個SVN回購可以包含GB值的數據。
  • 一個Git回購應保持較小,並且利用submodules爲了表示通過多個GIT中回購。

我懷疑很多回購可能比一個巨大的Git回購表現更好。否則,同步問題開始發生,如bug 323839

但是,這意味着手動管理的(簡化的)GIT中回購之間和所述一個SVN回購同步,通過從你從到yourGit回購複製一個SVN的工作區,或者要複製GIT中回購新演進回SVN工作區中提交。

+1

VonC - 同意,但有一些問題,例如:It與實施是肯定的,因爲同樣大的混帳回購協議執行在Linux上盒用的IntelliJ)相當不錯,雖然我同意的Linux文件系統都快得多。那麼,我可以創建一個是SVN克隆的中央Git回購,然後從巨型中央Git回購有多個小Git回購嗎? – Hemant 2012-04-24 06:29:39

+0

@Hemant不,你不能(不可能回覆SVN回購)。您可以定義一個Git倉庫,將所有小型倉庫聲明爲子倉庫,但不會與SVN倉庫建立任何關聯。這留下了手動同步機制。 – VonC 2012-04-24 06:51:01

+0

Vonc - 謝謝你澄清它。我會繼續探索我的選擇......我也希望Egit團隊能夠更快地進行一些性能調整。 – Hemant 2012-04-24 16:57:06

3

這可能是不太你的問題,但這個頁面出現在谷歌相對於例如:It性能。 一旦性能問題的來源未跟蹤(索引?)文件。 確保本地目錄樹中沒有大量未跟蹤的文件,因爲這會嚴重影響性能。我刪除了一個擁有10K +文件的導演,並且提交性能從花費1分鐘以上打開提交對話框花了幾秒鐘。

+0

我的倉庫中沒有任何未跟蹤的文件。我正在處理大約有28k Java文件和136k提交的大型存儲庫,但其中大多數應該已經打包好了。 – Hemant 2012-11-21 22:38:57

+0

嘗試克隆'git:// git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git'。 Linux內核簽出約有45k文件,內核的提交方式超過300k。一個28k文件和136k提交的回購是一個大回合,並不是很大。 – 2014-07-11 12:25:08

+0

對於一個巨大的回購,請嘗試克隆'https:// github.com/mozilla/gecko-dev.git'。克隆將需要通過單獨的線路傳輸大約1.5GB的數據... – 2014-07-11 12:39:03