Google 的人似乎都特别喜欢“忍者”,比如之前我们所说的 Cr-48 客服人员都是忍者,Gmail中有“忍者”技巧等等。最近 Chrome 的一名开发者 Evan Martin 又将他自己捣鼓的 Linux 版 Chrome 编译系统(build system)开源了,同样命名为“忍者”。他说起这个名字的原因是因为这套系统非常迅速,就像忍者刀起刀落,一道寒光之后就人头落地一样迅速。
Martin 在他的博客里说 Google 最初决定将 Chrome 移植到 Windows 之外平台的时候,考虑过使用 Scons software-construction tool 来做编译系统(build system),但这个工具实在是太慢了,在正式工作之前就需要浪费40秒的时间。
后来 Google 又考虑使用早期的 GNU Make build-automation system,但其性能仍然不能满足 Google 的要求,最少也需要10多20秒的时间用于等待浪费,所以最后 Martin 就自己使用 Scratch 捣鼓了一套专门用于 Linux 版 Chrome 的 Build System,这个系统除了编译之外没有任何其他功能,性能非常好,几乎在1秒钟之内就可以编译好文件的改动。
不过,由于是专门为 Linux 版 Chrome 的编译而开发的,这个工具开源出来估计别人拿去也没什么用,而且 Martin 强调这个是他的个人项目。想要研究这个项目的人可以直接去 github 下载源码,这里还有使用手册。