首页 >民生视野

谷歌互联网服务有20亿行代码为Windo

2018-10-24 18:40:34 | 来源: 民生视野

谷歌互联服务有20亿行代码 为Windows 40倍

腾讯科技讯9月16日,《连线》杂志(Wired)周三报道称,支持 谷歌 (微博)所有互联服务的软件拥有约20亿行的代码,相当于Windows操作系统的40倍。

谷歌有多大?答案可以根据其营收、股价、用户数量,甚至是影响力来回答。但这些也不是全部标准,我们还可以用代码数量来衡量。

谷歌工程经理蕾切尔波特文(Rachel Potvin)日前在一次业界会议上表示,运行谷歌所有互联服务的软件的代码数量约为20亿行。

相比之下, 微软 Windows操作系统的代码数量为5000万行,意味着谷歌服务所需软件的规模是Windows的40倍。

这20亿行代码运行着谷歌搜索、谷歌地图、Google Docs、Google+、GoogleCalendar、Gmail、YouTube和其他所有谷歌服务。而且,这些代码全部位于单一一个谷歌代码库中,面向谷歌的25000名工程师开放。

在公司内部,谷歌就将这些代码视为一个庞大的操作系统。波特文说:我猜想,这是全球使用中的最大单一代码库。

虽然谷歌是一个个例,但这凸显了软件在互联时代变得越来越复杂,以及我们如何调整编程工具和理念以适应这种复杂性。

开发和维护这20亿行代码并不是一项简单的任务,面临着巨大的技术挑战。谷歌拥有一套自主研发的版本控制系统,被称为Piper,用来维护这些代码。

Piper运行在几乎谷歌所有的基础设施上,横跨10个不同的谷歌数据中心,允许谷歌工程师针对各个项目使用或合并这些代码。当然,对于一些敏感的代码,如PageRank搜索算法,会单独放置在一个代码库中,面向特定人员开放。

开发和运行这样一套系统不仅需要技术,也需要强大的计算能力。Piper涵盖约85TB的数据,而谷歌的25000名工程师每天又会对这些代码进行约45000次的更新。

这是一项十分繁重的任务。Linux开源操作系统拥有1500万行代码,40000个软件文件。而谷歌工程师每周要修改250000个文件的1500万行代码。当然,Piper支持许多自动化操作。

像谷歌这种系统同样适用于其他企业吗?当然。例如, Facebook 就拥有2000多万行代码,他们也是将这些代码视为一个单一项目。还有许多其他公司也是这样做,只是规模小一些。

与此同时,谷歌和Facebook还争取将这种系统普及给所有人。目前,两大互联公司正在开发一个开源的版本控制系统,允许人们大规模的修改代码

谷歌互联网服务有20亿行代码为Windo

这看似极端,毕竟,当前似乎没有几家公司拥有像谷歌和Facebook这么多的代码。但相信在不久的将来,它们会有。(谭燃)

原文

猜你喜欢