日韩欧美中国a v-日韩欧美在线综合网高清-日韩欧美在线中文字幕-日韩欧美在线视频观看-国产人妖系列在线精品-国产人妖视频一区在线观看

Internet Develppment
互聯(lián)網(wǎng)開發(fā)& 推廣服務(wù)提供商

我們擅長商業(yè)策略與用戶體驗的完美結(jié)合。

歡迎瀏覽我們的案例。

首頁 > 新聞中心 > 新聞動態(tài) > 正文

微軟開源 Scalar,提升操作巨型 Git 倉庫的速度

發(fā)布時間:2020-02-18 09:26:50來源:互聯(lián)網(wǎng)

  Git 屬于分布式版本控制系統(tǒng),默認情況下,每個 Git 倉庫都具有整個歷史記錄的完整文件副本。即便是中等規(guī)模的開發(fā)團隊也會產(chǎn)生數(shù)千個提交,每個月向倉庫添加幾百兆的數(shù)據(jù)。而隨著倉庫的占用空間增加,Git 難以管理所有數(shù)據(jù),導(dǎo)致其運行越來越不順暢。如此一來,開發(fā)者的時間就會被浪費在執(zhí)行命令后等待反饋的操作上,如使用git status獲取被修改的文件,或者使用git fetch將代碼拉取至本地。由于等待的時間過長,開發(fā)者大多會傾向于切換至完成另外的任務(wù),待命令執(zhí)行完成后再切換回來。而這種來回切換任務(wù)的工作方式常常會降低開發(fā)者的生產(chǎn)力。

  對于處理巨型 Git 倉庫的問題,微軟顯然是頗有經(jīng)驗。畢竟 Windows 操作系統(tǒng)的代碼就是使用 Git 進行管理,為了克服上述的問題,微軟開發(fā)了 VFS for Git(以前稱為 GVFS),此項目使用虛擬文件系統(tǒng)繞過了許多倉庫大小的限制,所以 Windows 開發(fā)者在如此龐大的項目前也能正常使用 Git。

  在開發(fā) Vit for Git 的同時,微軟通過使用自定義跟蹤系統(tǒng)和收集用戶反饋來確定性能瓶頸。在此期間,微軟也為 Git 客戶端貢獻了一些代碼,包括提交樹(Commit-Graph)功能以及對git push和稀疏檢出的改進。基于這些貢獻以及其他許多對 Git 的近期改進,微軟啟動了一個項目 —— 無需虛擬文件系統(tǒng)即可支持巨型 Git 倉庫。這就是 Scalar 的誕生背景。

  Scalar 是一個使用 C# 編寫的 .NET Core 應(yīng)用程序,僅支持在 Windows 和 macOS 平臺中運行。Scalar 通過設(shè)置所建議的配置值和運行后臺維護來最大程度優(yōu)化 Git 命令的性能。無論開發(fā)者使用什么服務(wù)來托管代碼倉庫,Scalar 都能有效地加速 Git 指令。微軟提到,只要使用 Scalar 為體積最大的代碼倉庫進行注冊,就能馬上感受到 Git 執(zhí)行速度大的幅提升。

  對于 Scalar 的未來,微軟希望將其貢獻給 Git。微軟計劃把 Scalar 中加速 Git 的方法直接合并到 Git 項目中,最終實現(xiàn)讓開發(fā)者不需要 Scalar,僅使用 Git 客戶端就能獲得這些性能改進。不過要達成這個目標(biāo),仍然有很長的路要走。微軟提到,目前稀疏檢出是 Scalar 用來解決倉庫規(guī)模擴大的方法,盡管 Git 最近更新了稀疏檢出功能,使得該功能更容易使用,但是要達到提供完整功能的階段,還有一段距離。

  Scalar 目前使用稀疏檢出而非虛擬文件系統(tǒng),因此在執(zhí)行 Git 命令時會存在瓶頸,特別是git checkout 的速度不及 VFS for Git,微軟正在研究并行版本的git checkout,以提高執(zhí)行性能。微軟提到,為了真正地擴展 Git 服務(wù)以滿足成千上萬的工程師的需求,并構(gòu)建與中央服務(wù)器交互的機器,Git 需要提供類似于 GVFS 緩存服務(wù)器的概念。他們也表示計劃很快在郵件列表中提出這個想法。

  另外,目前 Git 客戶端倉庫之所以能順暢地執(zhí)行,是依賴定期執(zhí)行的前臺垃圾回收器,但微軟提到,對于巨型倉庫來說,這是不可行的方法。因此微軟計劃在 Git 客戶端中加入某種形式的后臺維護功能,類似git maintenance start命令,并像scalar register一樣容易使用。
  (邯鄲網(wǎng)站建設(shè)

最新資訊
? 2018 河北碼上網(wǎng)絡(luò)科技有限公司 版權(quán)所有 冀ICP備18021892號-1   
? 2018 河北碼上科技有限公司 版權(quán)所有.