《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 業(yè)界動態(tài) > 微軟開源Scalar,提升操作巨型Git倉庫的速度

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

2020-02-19
來源:中國電子網(wǎng)
關(guān)鍵詞: 軟件 開源 微軟

  Git屬于分布式版本控制系統(tǒng),默認情況下,每個Git倉庫都具有整個歷史記錄的完整文件副本。即便是中等規(guī)模的開發(fā)團隊也會產(chǎn)生數(shù)千個提交,每個月向倉庫添加幾百兆的數(shù)據(jù)。而隨著倉庫的占用空間增加,Git難以管理所有數(shù)據(jù),導致其運行越來越不順暢。如此一來,開發(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。

8ff47954c88e6244e8c1c1ce2260a400.jpg

  在開發(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í)行速度大的幅提升。

10fc8439b67b676545de0608a7c9cad0.jpg

  對于Scalar的未來,微軟希望將其貢獻給Git。微軟計劃把Scalar中加速Git的方法直接合并到Git項目中,最終實現(xiàn)讓開發(fā)者不需要Scalar,僅使用Git客戶端就能獲得這些性能改進。不過要達成這個目標,仍然有很長的路要走。微軟提到,目前稀疏檢出是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一樣容易使用。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日韩在线视频一区| 精品偷自拍另类在线观看| 国内自拍成人网在线视频| 久久一本一区二区三区| 欧美激情一级欧美精品| 厨房掀起馊子裙子挺进去| 国产成人yy精品1024在线| 国色天香精品一卡2卡3卡| 中文字幕专区高清在线观看| 最近中文字幕精彩视频| 亚洲精品短视频| 美女扒开大腿让我爽| 国产成人综合日韩精品婷婷九月| 99精品国产在热久久| 无需付费大片免费在线观看| 亚洲啪啪av无码片| 男人天堂网在线视频| 国产gay小鲜肉| 欧美丰满白嫩bbwbbw| 在线二区人妖系列| 中文天堂在线www| 日韩在线一区二区三区免费视频| 亚洲欧美日韩在线观看播放| 精品人妻少妇嫩草AV无码专区| 国产又爽又黄无码无遮挡在线观看| 538国产视频| 天天看片天天射| 中文字幕精品在线视频| 最近高清日本免费| 亚洲欧美日韩精品久久| 精品免费人成视频APP| 国产乱子伦片免费观看中字| www.日日夜夜| 在线中文字幕网| 一区二区三区91| 无翼乌工口肉肉无遮挡无码18| 亚洲AV日韩AV永久无码下载| 欧美日韩亚洲国产千人斩| 人妻无码aⅴ不卡中文字幕| 糖心VLOG精品一区二区三区| 国产伦精品一区二区三区视频小说|