Compiling Rust code with optimizations is significantly slower than compiling without optimizations. As was measured in bug 1411081, the difference between rustc's -Copt-level 1 and 2 on an i7-6700K (4+4 cores) for a recent revision of mozilla-central was 325s/802s wall/CPU versus 625s/1282s. This made Rust compilation during Firefox builds stand out as a long pole and significantly slowed down builds.
Because we couldn't justify the benefits of level 2 for the build time overhead it added, we've changed the build system default so Rust is compiled with -Copt-level=1 (instead of 2). Adding --enable-release to your mozconfig (the configuration for builds we ship to users) enables -Copt-level=2. (i.e. we didn't change optimization settings for builds we ship to users.) Adding --disable-optimize sets to -Copt-level=0. (This behavior is unchanged.) If you want explicit control over -Copt-level, you can `export RUSTC_OPT_LEVEL=<value>` in your mozconfig and that value will always be used. --enable-release implies a number of other changes. So if you just want to restore the old build system behavior, set this variable in your mozconfig. Also, due to ongoing work around Rust integration in the build system, it is dangerous to rely on manual `cargo` invocations to compile Rust because bypassing the build system (not using `mach build`) may not use the same set of RUSTFLAGS that direct `cargo` invocations do. Things were mostly in sync before. But this change and anticipated future changes will cause more drift. If you want the correct behavior, use `mach`. _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform