成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面對 20 億行代碼,Google 如何管理?

移動開發
面對“Google 這家公司有多大?”這種問題,你可能會用收入、股票價格、客戶數量或者是形而上學的影響力來回答這個問題。但是,這還不是全部。Google 作為全球最大的互聯網公司,我們當然可以用“互聯網思維”來思考這個問題,比如用代碼數量來衡量它。來自于 Google 的 Rachel Potvin,在周一舉辦的硅谷工程會議上給了我們一個可以參考的答案。

面對“Google 這家公司有多大?”這種問題,你可能會用收入、股票價格、客戶數量或者是形而上學的影響力來回答這個問題。但是,這還不是全部。Google 作為全球***的互聯網公司,我們當然可以用“互聯網思維”來思考這個問題,比如用代碼數量來衡量它。來自于 Google 的 Rachel Potvin,在周一舉辦的硅谷工程會議上給了我們一個可以參考的答案。

[[149754]]

她表示,運行所有 Google 互聯網服務的軟件,包括了 Google 搜索、Gmail、Google 地圖等,大約有20億行代碼。相比之下,從20世紀80年代就開始開發的 Windows 操作系統——有史以來為單一計算機所開發的最復雜的軟件工具之一,只有5000萬行代碼。

所以簡單一刀切的話,建立 Google 相當于建40個 Windows 系統。

當然,5000萬行代碼驅動的僅僅是 Windows 系統本身,而20億行代碼則是 Google 的全部。Google 的業務覆蓋范圍及其廣,包含了搜索、地圖、文檔、社交、日歷、郵件、視頻,以及其他互聯網服務,所有20億行代碼都存放在代碼資源庫中,提供給全部2.5 萬名 Google 工程師調用。在公司內部,Google 對待它的代碼就像對待一個巨大的操作系統。Potvin 表示:“雖然不能證明這一點,但我認為這是全球***的單一信息庫。”

Google 是一個極端例子,但它展示了如今的軟件在互聯網時代有多復雜,以及我們如何改變使用的編碼工具和理念,以適應這種復雜性。Google 的巨大資源庫僅適用于內部程序員,但在某種程度上,它已經類似于Github——一個向所有公眾開放的源代碼庫,工程師可以通過互聯網共享代碼。我們正在 走向一個需要經常大規模合作代碼的世界,也只有這樣才能跟上現代互聯網服務的發展。

GitHub 就表示:“Google 擁有2.5萬名工程師,他們可以與內部擁有各種不同技能的人分享代碼。但是小公司可以使用 GitHub 和開源,得到同樣的優勢。”

另一方面,建立并運行一個20億行代碼的龐大系統,并不簡單。Lambert 表示:“這是一項技術挑戰,也是一個巨大壯舉,數字相當驚人。”

GitHub 可以讓程序員輕松共享代碼和協作,它涵蓋了數以百萬計的項目,但沒有直接容納軟件項目。Google 則更進了一步,將很多項目合并成一個。鑒于涉及許多工程師以及同時應付如此多代碼的難度,能做到這一點十分地瘋狂。

 

Piper

 

Google 為了同時應付所有代碼,已經建立了自己的“版本控制系統”:Piper。它在整個龐大的網絡基礎設施上運行,系統覆蓋了10個不同的 Google 數據中心。

這 一系統不僅將所有20億行代碼都存放在單一的系統內,并提供給公司內部工程師調用,更給工程師提供了更多自由,可以使用及合并橫跨無數項目的代碼。 Potvin 表示:“當你開始一個新項目,Google 已經提供了有豐富資源的圖書館,幾乎一切事情都已經幫你完成。更重要的是,工程師可以在所有 Google 服務中進行代碼變更和立即部署。更新一件事,就能夠更新一切。”

當然使用這個系統也有限制。Potvin 表示,某些高度機密的代碼,如PageRank 搜索算法,被存儲在一個單獨的資源庫中,只提供給特定員工。而且,由于Android 和 Chrome兩個操作系統與那些在線服務有非常大的區別,Google 會將它們的代碼存儲在單獨的版本控制系統中。但在大多數情況下,Google 代碼都是一個整體。

 

機器程序員

 

Lambert 指出,構建和運行這樣的一個系統,不僅需要知道如何做到這種事,還需要龐大的計算能力。Piper 每天需要處理大約85TB的數據(即85000GB),Google 的 2.5萬名工程師每天會對資源庫做出45000次提交(修改)。

與 此同時,Piper 還必須能刪去人類程序員所產生的大量冗余。它必須確保代碼準確無誤,程序員不會相互干涉,要能從資源庫中刪除錯誤和未使用的代碼。而正是存在這一切困 難,Piper不得不接手一些人類的工作。現在,Google 已經從之前的一個版本控制系統Perforce,切換到了 Piper,讓機器來完成一部分工作。

這并不意味著 Google 要讓機器人編寫代碼,但它們確實可以生成很多運行軟件所需的數據和配置文件。程序員和機器人需要協調一致,維護代碼健康?,F在已經不只有人類在維護代碼了。

 

讓所有人受惠的 “Piper”

 

其他公司能否受益于同類系統呢?當然能,而且也確實有公司這樣做了。Facebook 的主應用有2000萬行以上代碼,公司把整個事情作為一個單獨的項目。還有一些公司以較小規模在做同樣的事情,而當這些公司不斷接近 Google 或 Facebook 的規模,也會做同樣的事。但Google 和 Facebook 都在探索能夠改變每個人的方法。

兩家巨頭正在開發一個開源的版本控制系統,任何人都可以用它來處理大規模代碼。它基于現有系統Mercurial,Google正試圖擴展 Mercurial 資源庫,達到Google的規模。

責任編輯:chenqingxiang 來源: oschina
相關推薦

2015-09-18 11:47:45

代碼Google管理

2009-09-27 11:38:44

Google Chro

2022-03-26 22:28:06

加密通信Python

2018-02-08 16:45:22

前端JS粘貼板

2019-09-25 09:20:41

谷歌代碼開發者

2018-12-14 16:10:34

有米科技AWS虛擬主機

2023-07-11 09:22:54

2024-02-19 13:09:21

代碼數據Copilot

2019-07-24 16:00:37

Python代碼高清圖片

2022-05-09 13:59:41

Python提取PPTword文檔

2020-11-30 09:31:28

微信代碼程序員

2021-04-30 13:20:07

IBMTurbonomic混合云

2015-03-03 14:11:07

域名Google

2010-11-24 10:13:00

2016-11-07 16:50:59

移動化智能

2024-11-08 17:22:22

2020-06-18 15:53:06

Python代碼摳圖

2017-05-11 12:59:48

2021-05-31 18:56:56

代碼編碼開發

2020-09-28 10:58:26

Google AI技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线看片国产 | www.日本国产 | 日本欧美在线视频 | 91资源在线 | 91成人精品视频 | 91免费视频观看 | 色婷婷国产精品综合在线观看 | 日韩精品免费看 | 久久国内精品 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 免费毛片在线 | 亚洲综合区 | 国产一区二区毛片 | 亚洲精品一区在线观看 | 亚洲精品一二区 | 欧美精品在线视频 | 久久精品亚洲一区 | 亚洲香蕉在线视频 | 欧美精品综合 | 国产成人99久久亚洲综合精品 | 天天澡天天狠天天天做 | 日韩综合一区 | 我想看一级黄色毛片 | 久久国际精品 | 国产一区精品 | www国产成人免费观看视频 | 一区二区三区在线电影 | 久久久久久免费毛片精品 | 午夜视频在线免费观看 | 亚洲a视频| 成人久久18免费网站麻豆 | 国产精品久久久久久久久图文区 | 91麻豆产精品久久久久久夏晴子 | 成人在线视频网址 | 亚洲视频在线观看 | 国产精品成人一区二区三区 | 国产激情精品一区二区三区 | 成人免费一级 | 精品国产一区二区三区四区在线 | 在线视频国产一区 | 一本大道久久a久久精二百 欧洲一区二区三区 |