回答
正確的性能測量關於DVCS(執行所有操作本地反正)是你的日常任務之一:
- 合併(有多快你的various branching models之間的決定,特別是在水銀?)
- publication workflow(有多快你設置一個push/pull worlflow?)
- 整合(如何q uickly你整合了Git與IDE,像Hudson或Jira或Redmine或Track等webapp,或者...?)
- 設置(你多快建立一個集中式存儲庫,使用什麼樣的認證機制:如果您使用DVCS in an enterprise environment)
基本操作的原始性能是不是相關的,只要你理解了limits of a DVCS:你不能有一個單一的回購你會把一切(所有項目,或者全部成類似於二進制文件的文件)。
必須進行某種模塊重組,以定義每個「模塊」(連貫文件集)的正確回購數量。
你不Git和善變的,因爲性能之間進行選擇。他們都很好。
只要做你會做和測量的事情。您可能會在第一次導入時獲得最大的性能差異 - 這並不重要。繼續挖掘。
從空間角度來看,git一定會贏的一個地方就是如果你的生命在很多不同的路徑上擁有相同的內容。也就是說,如果你的幾個文件的演出被移動。 git的模型比hg的支持的更好。這對你來說可能無關緊要。
在這兩種情況下,您都應該考慮一下您的幾個倉庫實際上是否代表單個項目的源代碼。
但是,再次,由於原始表現在這兩個相似和活躍的項目之間進行選擇是不明智的。
Mercurial and Git server performance之間最近(2011年1月)的性能比較。結論是Mercurial的性能比Git更穩定,但Git的平均速度更快。
感謝您的鏈接,這非常有幫助 – Eva611 2011-03-14 12:58:05
看起來鏈接不再工作。如果有人有鏡子,那會很棒。 – 2015-07-08 16:21:39
@FabioTurati我剛剛嘗試鏈接,它現在可以工作。 – 2015-10-16 06:49:00
正如@MartinGeisler在他的回答中指出的那樣,提交時間非常短(如果通過命令行提交,則shell會立即返回)。
需要相當長時間的是網絡clone
s/push
es/pull
s。谷歌已發佈small benchmark (see footnote 1)當他們不得不選擇DVCS爲谷歌代碼,但它是相當古老(2008年夏季)。
我會推動...很多!對不起,如果我不清楚。感謝您的意見 – Eva611 2011-03-14 12:53:58
Eric Sink發佈了SVN,Bazar,Mercurial,Git和他自己的Veracity的基準測試results。
不幸的是,它只是一個單一的操作(一個提交),只有一個代碼庫(Valgrind),我不確定哪個版本用於所有這些VCS,但在任何情況下,它必須非常老,因爲文章日期回到2011年。我想這就是爲什麼Eric自己把它們定義爲「荒謬不科學的基準」。無論如何,它的價值:
SVN比其他人慢得多(差不多22秒),但所有其他人都相似(3到5秒之間)。 Git顯然是最快的,並且它的百分比甚至比Mercurial快得多(這需要多花43%的時間),但實際上我們正在談論1.4秒的差異 - 幾乎不明顯。
除此之外,我現在無法找到源代碼,但我已經多次讀過Git更快的速度,雖然區別很小(這證實了Eric的測試結果)。所以當選擇哪一個時,我不會太在意速度。
- 1. Git vs Mercurial中的分支
- 2. performance stringbuf vs string
- 3. TagSoup vs JSoup :: Performance?
- 4. VS 2010 Performance Explorer
- 5. DB2 Performance CASE vs COALESCE
- 6. String.format()vs string concatenation performance
- 7. eclipse performance arm vs intel
- 8. template.find()vs document.querySelector vs jquery vs template。$ performance in Meteor
- 9. lapply vs for loop - Performance R
- 10. Mysql COUNT VS num rows performance
- 11. MYSQL IN vs <> performance
- 12. neo4j cypher single vs multiple labels performance
- 13. Javascript performance for property access:undefined vs false
- 14. C#vs C++ for loop performance measurment
- 15. OpenGL ES 2.0:glUseProgram vs glUniform performance
- 16. php> performance> session vs globals vs db>?
- 17. Mercurial or Git
- 18. git for mercurial like git-svn
- 19. From Performance Wise:Class Computed Property vs Stored Property
- 20. x * x vs Math.pow(x,2)java performance
- 21. Mercurial v Git v Subversion
- 22. Mercurial repo git repo access
- 23. AS3> performance> if(myBooleanField)* VS * if(myObjectField!= null)* VS * if(myIntField!= 0)
- 24. git log -p vs git show vs git diff
- 25. Laravel 4 Facades Performance
- 26. Mercurial:移植vs病歷vs.qrecord vs擱置vs移植vsdirstate vs.隊列
- 27. Mercurial Commits vs Actual Production圖表
- 28. git-p4 vs git-svn
- 29. 將Git Repo轉換爲Mercurial
- 30. 來自mercurial git - 合併?
請參閱https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ – SgtPooki 2014-02-15 21:13:58