将Servo作为二进制文件的一部分嵌入时,我遇到了很长的连续构建时间.例如,使用本教程嵌入Servo,在初始构建完成后,对我的代码的任何修改都需要40s +来重建第4代四核i7上的二进制文件:
以下是Cargo的样本输出:
? cargo build
Finished dev [unoptimized + debuginfo] target(s) in 0.1 secs
? touch src/main.rs
? cargo build
Compiling servo-embedding-example v0.1.0
Finished dev [unoptimized + debuginfo] target(s) in 57.9 secs
Run Code Online (Sandbox Code Playgroud)
我正在运行一个最近的夜间工具链:
? rustc --version
rustc 1.25.0-nightly (15a1e2844 2018-01-20)
? cargo --version
cargo 0.26.0-nightly (6a8eb71f6 2018-01-13)
Run Code Online (Sandbox Code Playgroud)
增量构建正在进行:
? echo $CARGO_INCREMENTAL
1
Run Code Online (Sandbox Code Playgroud)
我不打算经常更新伺服,但我需要它我的应用程序.有没有办法加快构建时间?
可以使用生成器创建字典(PEP-289):
dict((h,h*2) for h in range(5))
#{0: 0, 1: 2, 2: 4, 3: 6, 4: 8}
Run Code Online (Sandbox Code Playgroud)
在语法上可以在同一个dict()调用中添加一些额外的键值对吗?以下语法不正确,但更好地解释了我的问题:
dict((h,h*2) for h in range(5), {'foo':'bar'})
#SyntaxError: Generator expression must be parenthesized if not sole argument
Run Code Online (Sandbox Code Playgroud)
换句话说,是否可以在单个dict()调用中构建以下内容:
{0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 'foo': 'bar' }
Run Code Online (Sandbox Code Playgroud)