【Yesky新闻频道消息】衡量一个互联网公司到底有多大不仅可以根据其营收、股价、用户数量,或者是影响力来判断,还可以从代码数来衡量。那么作为全球互联网公司巨头的谷歌到底有多大呢。
在本周硅谷举行的一个工程会议上,谷歌工程经理蕾切尔·波特文(Rachel Potvin)称构建Google互联网服务的软件大约有20亿行代码,这涵盖了搜索、地图、Google Docs、Google+、Gmail、YouTube及其它所有Google互联网服务。相比之下,微软的Windows系统大约有5000万行代码。
公司内部,谷歌就将这些代码视为一个庞大的操作系统。波特文说:“这是全球使用中的最大单一代码库。”波特还表示它只开放给公司的2.5万名程序员访问,有自己的版本控制系统叫Piper。Piper的容量大约为85TB,2.5万工程师每天会递交4.5万次commits,每周修改25万个文件的1500万行代码。
虽然谷歌是一个个例,但这凸显了软件在互联网时代变得越来越复杂,以及我们如何调整编程工具和理念以适应这种复杂性。
开发和维护这20亿行代码并不是一项简单的任务,面临着巨大的技术挑战。谷歌拥有一套自主研发的“版本控制系统”,被称为“Piper”,用来维护这些代码。
Piper运行在几乎谷歌所有的在线基础设施上,横跨10个不同的谷歌数据中心,允许谷歌工程师针对各个项目使用或合并这些代码。当然,对于一些敏感的代码,如PageRank搜索算法,会单独放置在一个代码库中,面向特定人员开放。
开发和运行这样一套系统不仅需要技术,也需要强大的计算能力。Piper涵盖约85TB的数据,而谷歌的25000名工程师每天又会对这些代码进行约45000次的更新。
这是一项十分繁重的任务。Linux开源操作系统拥有1500万行代码,40000个软件文件。而谷歌工程师每周要修改250000个文件的1500万行代码。当然,Piper支持许多自动化操作。
像谷歌这种系统同样适用于其他企业吗?当然。例如,Facebook就拥有2000多万行代码,他们也是将这些代码视为一个单一项目。还有许多其他公司也是这样做,只是规模小一些。
与此同时,谷歌和Facebook还争取将这种系统普及给所有人。目前,两大互联网公司正在开发一个开源的“版本控制系统”,允许人们大规模的修改代码。
这看似极端,毕竟,当前似乎没有几家公司拥有像谷歌和Facebook这么多的代码。但相信在不久的将来,它们会有。