Description
I've recently run into a performance regression in the Rust compiler in a project I'm working on. I've used nightlies to narrow it down to somewhere in 7789881..bf6d7b6. Specifically, the 2017-01-14 nightly is good, and 2017-01-15 is bad. The regression is independent of CARGO_INCREMENTAL=1
.
If you have a machine with a few cores, you can test it on a clone of https://github.com/mit-pdos/distributary/. Run with
$ cargo run -v --release --bin vote -- --avg --articles=100000 --runtime=10 --migrate=3 soup:// | grep 'PUT+'
On -14
, the "migration" mentioned in the middle finishes quite quickly. On -15
, it takes a long time, and so PUT
never transitions to PUT+
.
I wanted to try a git bisect
to narrow the problem down further, but compiling it takes forever. A cursory glance over the commit range doesn't reveal anything particularly suspect, and #rust-internals
told me to post here to get some more eyes on the problem.