99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網易首頁 > 網易號 > 正文 申請入駐

互聯網巨頭決定拋棄Git......

0
分享至

   1

   兩個軟件同時誕生

  2005年4月,Larry發現有Linux內核開發者違反了協議,正在對自己的寶貝軟件BitKeeper做逆向工程,他怒不可遏,撤銷了Linux的使用許可。

  (詳情參見:)

  Linux一下子面臨者沒有源碼管理系統的窘境!

  這件事情影響很大,第一,Linus Torvalds不得不停下內核的開發和管理工作,開始開發Git。

  第二,它促使Olivia Mackall發布了幾周前開發的Mercurial v0.1 ,和Git一樣,這也是一個可擴展的分布式版本控制系統。

  

  兩個分布式版本控制系統可以說是同時起步。

  很明顯,頂著Linux光環的Git(當然它自身非常優秀)受到了更多人的歡迎,很多公司選擇了Git,其中就包括互聯網巨頭Facebook。

  

  隨著業務的飛速發展,Facebook的代碼庫也開始以驚人的速度增長。

  單單是2013年,Facebook的Git代碼倉庫就提交了4.4萬個文件,1700萬行代碼,甚至比Linux內核的規模更龐大,更復雜。

  更要命的是,Facebook和另外一個巨頭Google一樣,把公司的所有項目代碼都“塞”到了一個代碼庫中!

  為什么要單一代碼庫的策略呢?這么做有很多好處:

  (1) 統一的版本化管理,不需要fork 共享庫,沒有跨代碼庫merge復制代碼的痛苦

  (2) 廣泛的代碼共享和復用

  (3) 簡化的依賴管理

  (4) 跨團隊的合作很方便

   2

   Faceboo決定拋棄Git

  可是,隨著單一代碼庫的飛速增長,Git操作變得越來越慢。

  Facebook的工程師對未來幾年的代碼庫規模做了估計,創建了一個虛擬倉庫做一個模擬,結果讓人震驚,基本的Git命令都需要45分鐘才能完成!

  必須得尋找解決方案了!

  Facebook組建了一個團隊,專門來解決這個問題。

  他們先是聯系了Git維護者,但是要想解決Facebook的問題,Git內部必須得做一些深度的代碼修改不可。

  所以Git維護者的回復是:你們的代碼庫太大了,應該分拆代碼庫......

  Git社區對于提升單一超大代碼庫的性能并不是十分積極,因為很少人這么用啊!

  Git這條路走不通,Facebook又考慮了閉源的Perforce,這也是一個老牌的版本控制系統,成立于1995年。

  

  Salesforce、Netflix、SAP、迪士尼、Intuit和紐約證券交易所都是它的客戶,Google也曾經用過,Perforce在游戲領域是領導者,游戲廠商前20強有18家在用Perforce做版本控制。

  在和Perforce的銷售工程師接觸的時候,Facebook發現Perforce在“讀取和寫入節點的本地一致性存在缺陷。” 不過Perforce并不認為這是一個大問題,也沒有計劃來解決它。

  放棄了Perforce以后,一個有豐富Mercurial使用經驗的工程師建議考慮一下Mercurial。

  Mercurial用Python寫成,采用了面向對象的各種模式,架構更簡潔,更容易擴展。

  比如對于Facebook這樣大規模的存儲庫,一個主要的瓶頸就是找出哪些文件發生了變化。Git的辦法是檢查每個文件,隨著文件數量的增加,就會變得越來越慢。

  Facebook內部有個工具叫做watchman,可以檢測文件的狀態變化,Mercurial 良好設計使得和watchman的集成非常簡單,最終集成了watchman的Mercurial在查看文件狀態時,比Git快了5倍以上。

  

  Mercurial還有幾個很好的抽象,例如filelog,這個數據結構表示每個文件的每次修訂,Facebook通過remotefilelog擴展了這個接口,使得超大存儲庫的pull和clone速度提升了10倍以上,從幾分鐘縮短到幾秒鐘。

  

  Mercurial社區也非常開放,愿意和Facebook合作,為了解決Facebook遇到的問題,可以對Mercurial做出重大變革。

  雙方合作相當良好,Facebook從Git向Mercurial遷移的時候,在一年半的時間內貢獻了500多個補丁,包括新的圖算法,用C語言重寫性能關鍵的部分等等。

  Mercurial則認真地審閱這些補丁,主動幫助Facebook解決擴展性問題,在設計新功能的時候也會把Facebook的問題考慮在內。

  這和當時的Git社區形成了鮮明的對比。

  十年后,Git也做出了重大改進,可以很好地處理非常大的單一存儲庫,但

  Facebook不會再遷移回來了。

   3

   Google 發明新輪子

  說完了Facebook,再來說說Google。

  Google的代碼庫更大,更加嚇人。

  截止到2015年,這個代碼庫一共有20億行代碼,占據了86T的空間。

  數字沒有直觀感覺,看個圖吧:Windows,Office等常見軟件在中間,Google代碼庫是最下方的綠色方塊。

  

  除了Chrome和Android之外,大部分Google產品的代碼都保存在一個代碼庫中。

  Google最早用的版本控制系統是閉源的Perforce,可見在創業初期,像版本管理這樣的工具,大家都是拿來就用的,不考慮什么開源不開源的。

  為了支撐自己業務的發展,Google不斷地想辦法擴展Perforce,但是擴展也是到了盡頭:CPU超負荷運轉,時不時出現TCP連接失敗。

  Google也考慮了Git,但當時Git的主流觀點是:應該使用更多更小的代碼庫。這和Google單一代碼庫的理念是完全相反。

  就像2005年Linus被迫發明Git一樣,Google也被迫發明了自己新的版本管理系統:Piper

  新工具開發起來很容易,但是把數據從Perforce遷移到Piper非常難。

  在過去的11年間,Perforce已經深深地融入了Google的生態系統,基于Perforce Google已經開發了300多種工具。

  2010年,Oracle狀告Google,指控它在Android中使用了未經授權的Java API,這給Google敲響了警鐘,千萬不用復制Perforce的API。

  最后Google工程師不得不采用了“潔凈室”的技術,由獨立的,對Perforce API一無所知的工程師來進行設計。

  向Piper的遷移花費了4年的時候,才大功告成。

   4

   總結

  Facebook和Google都是標準的互聯網巨頭,在他們代碼庫的發展過程中,一直堅持單一代碼庫的策略,都“拋棄”了Git。

  Facebook選擇現成開源軟件Mercurial,瘋狂魔改,使其滿足自己的要求。

  Google則選擇發明一個新輪子Piper,花費巨大經歷進行遷移。

  他們所做的事情,不是一般公司能干的,對絕大多數公司來說,選擇Git就足夠了。

  全文完,覺得不錯的話點個贊或者在看吧!

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
媒體人:有多名亞洲籍裁判抵達中國,最快今晚開始啟動外籍裁判

媒體人:有多名亞洲籍裁判抵達中國,最快今晚開始啟動外籍裁判

狼叔評論
2025-04-15 10:53:09
每天27班,上海飛大阪比公交還密

每天27班,上海飛大阪比公交還密

環球旅訊
2025-04-15 11:05:57
GitHub, 封鎖中國IP。。。

GitHub, 封鎖中國IP。。。

飛總聊IT
2025-04-14 04:05:09
李顯龍一語道破:老美能熬死蘇聯,同樣就能熬死東大?天方夜譚!

李顯龍一語道破:老美能熬死蘇聯,同樣就能熬死東大?天方夜譚!

大道無形我有型
2025-04-13 20:36:49
終于明白為啥死囚被執行時比雞還順從!網友的回復讓我大開眼界!

終于明白為啥死囚被執行時比雞還順從!網友的回復讓我大開眼界!

苗苗情感說
2025-04-09 14:35:19
“中間人”帶話后,特朗普憤怒凌晨發文,暗示有新措施,對付中國

“中間人”帶話后,特朗普憤怒凌晨發文,暗示有新措施,對付中國

梁訊
2025-04-14 11:29:11
女兒和父親同床睡到12歲 體檢報告讓全家沉默

女兒和父親同床睡到12歲 體檢報告讓全家沉默

妍薇情感驛站
2025-04-14 09:50:59
注意,美國開始對格陵蘭、巴拿馬動手了

注意,美國開始對格陵蘭、巴拿馬動手了

新民晚報
2025-04-15 09:06:51
A股:不對勁,量能萎縮,主力加速賣出!股民注意不要被輕易出局

A股:不對勁,量能萎縮,主力加速賣出!股民注意不要被輕易出局

虎哥閑聊
2025-04-15 11:42:54
后續!菲律賓華人鋼鐵大王被綁架撕票一案,兩名中國籍嫌犯羅落網

后續!菲律賓華人鋼鐵大王被綁架撕票一案,兩名中國籍嫌犯羅落網

楊哥歷史
2025-04-14 10:15:21
達達里奧,曬出兒子正臉照,藍色大眼,深得遺傳!

達達里奧,曬出兒子正臉照,藍色大眼,深得遺傳!

美劇組|人人影視
2025-04-12 20:51:55
全亂了,乒乓球世界杯積分榜大洗牌,林高遠丟分,出線形勢不妙

全亂了,乒乓球世界杯積分榜大洗牌,林高遠丟分,出線形勢不妙

浪子阿邴聊體育
2025-04-15 15:16:57
羅湖已經涼透了

羅湖已經涼透了

小蔡觀房
2025-04-15 14:05:24
全家旅游唯獨漏了她,丈夫來電忘掛,女人聽到后將全家行李丟出門

全家旅游唯獨漏了她,丈夫來電忘掛,女人聽到后將全家行李丟出門

二十一號故事鋪
2025-04-11 08:30:19
掘金老板談快船:我們最好做好準備 他們正打出聯盟最好的籃球

掘金老板談快船:我們最好做好準備 他們正打出聯盟最好的籃球

直播吧
2025-04-15 09:48:10
成都一86平米“兇宅”售出,中介稱曾發生命案:一口價95萬,110萬成交

成都一86平米“兇宅”售出,中介稱曾發生命案:一口價95萬,110萬成交

瀟湘晨報
2025-04-14 18:56:08
醫生調查發現:癌癥患者若每天睡午覺,不出半年,或有這4大變化

醫生調查發現:癌癥患者若每天睡午覺,不出半年,或有這4大變化

今日養生之道
2025-04-01 13:51:43
中央批復浙江規劃:重點打造4座中心城市,多座城市被委以重任

中央批復浙江規劃:重點打造4座中心城市,多座城市被委以重任

十點軍史
2025-04-15 11:20:15
男子花費88萬,包酒店頂層為87歲老母慶生,事后母子雙雙跳樓

男子花費88萬,包酒店頂層為87歲老母慶生,事后母子雙雙跳樓

罪案洞察者
2025-04-11 16:23:36
2025年,預制菜在市場上怎么就“消失”了?

2025年,預制菜在市場上怎么就“消失”了?

財經下午茶
2025-04-14 16:03:16
2025-04-15 16:35:00
碼農翻身 incentive-icons
碼農翻身
有趣且硬核的技術文章
118文章數 456關注度
往期回顧 全部

科技要聞

OpenAI放大招!GPT-4.1上線,編程戰力全開

頭條要聞

特朗普談俄烏沖突 把澤連斯基、普京和拜登一起批一頓

頭條要聞

特朗普談俄烏沖突 把澤連斯基、普京和拜登一起批一頓

體育要聞

父母是臺灣移民!女林書豪被WNBA球隊選中

娛樂要聞

倪萍:端莊女神活成了“懟人女王”?

財經要聞

美國財長,突然發聲!涉及“對華關稅”

汽車要聞

轉型中的"穩健派" 一汽-大眾的智能化突圍路徑

態度原創

藝術
時尚
旅游
房產
親子

藝術要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

健身效果堪比“整容”!她們保持好狀態的秘密全都分享出來了

旅游要聞

熱聞|清明假期將至,熱門目的地有哪些?

房產要聞

2300億砸向海南,一大波超級項目要來了!

親子要聞

你家孩子有幾分像爸爸呢~

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 慈溪市| 红河县| 迁西县| 天长市| 凉城县| 缙云县| 郓城县| 道孚县| 康保县| 鸡东县| 莲花县| 惠水县| 类乌齐县| 芒康县| 宕昌县| 麟游县| 东城区| 离岛区| 大姚县| 怀集县| 韶山市| 上林县| 栖霞市| 凤城市| 湾仔区| 淅川县| 营口市| 嵩明县| 兰考县| 远安县| 化德县| 永城市| 宁蒗| 梓潼县| 平阴县| 遵化市| 汕头市| 谷城县| 大英县| 甘南县| 贵阳市|