编译器
文章平均质量分 74
Sitlos
有梦为马,随处可栖。
展开
-
Bazel FAQ
Google软件构建工具Bazel FAQGoogle软件构建工具Bazel FAQ本文是我的翻译,原文在这里。欢迎转载,转载请注名本文作者和原始链接注:如果想了解Bazel的原理,可以看看我之前翻译的Google Blaze原理及使用方法介绍系列Bazel是什么?Bazel是一个构建工具,即一个可以运行编译和测试来组装软件的工具,跟Make、Ant、Gradle、Buck、Pants和Maven...翻译 2018-05-18 15:10:39 · 802 阅读 · 0 评论 -
Bazel增量模型剖析
SkyFrameBazel的并行评估和增量模型: 数据模型有以下项目:1. SkyValue:节点。包含输入文件,输出文件,源文件和Build。2. SkyKey:路径目录。3. SkyFunction: 根据Key和依赖节点来构建节点。4. Skyframe:源码中关于增量模型代码的名字。 SkyFunction是以SkyKey为参数的递归函数。SkyKey通过哈希M...原创 2018-05-21 14:00:00 · 778 阅读 · 0 评论 -
Bazel模型 -------10秒构建超大工程
在构建大工程的时候,编译效率低下往往令人非常烦恼。Google显然意识到了这一点,其内部开发并使用了Bazel(目前已经开源),Bazel使得原本用Maven需要10多分钟才能构建完成的项目在秒级的时间就完成。为什么Bazel速度这么快?通过我们组对源码的研究,得到了以下结论:一、Bazel采用特殊的增量模型,只编译必须要编译的文件。在介绍其增量模型前,首先需要了解几个必要的概念。 数据...原创 2018-05-24 13:03:24 · 1469 阅读 · 0 评论