Description
Hello everyone
I've tried searching for a github issue that reports this, but I couldn't find anything, so I hope this isn't a duplicate. I'm on nightly, since my project uses type macros. Overall, there is a good amount of macro expansion going on, since I build parsers for binary data based on structs.
Compilation time for a 5500 LOC project has been around 7-9 seconds on my Core i7-4770, going a bit up and down with changes in the project, and changes in nightly.
However, today this changed very drastically:
[chrivers@helios]~/git/artemis/oxide #cargo build
Compiling oxide v0.1.0 (file:///home/chrivers/git/artemis/oxide)
Finished debug [unoptimized + debuginfo] target(s) in 21.94 secs
This is more than twice as slow as before! Something pretty significant must have happened.
This version is definitely affected:
rustc 1.13.0-nightly (4f9812a59 2016-09-21)
Honestly, I'm not quite sure when it worked, but I can say that the version I used yesterday, which was probably no more than 1 week old, worked much better.
Activity
chrivers commentedon Sep 23, 2016
I figured out how to install older nightly versions with rustup - I'm going to try searching for the problem
jonas-schievink commentedon Sep 23, 2016
Is the code available somewhere (or a smaller reproduction of the bug)? Can you try running with
cargo rustc -Ztime-passes
?chrivers commentedon Sep 23, 2016
I can definitely send the code in private, but unfortunately I can't make it publicly available at this point. I'd be more than happy to send you a targz (or some other format, if you prefer)
I'll try a few different versions to see where it happens, and measure time-passes of the affected version(s)
chrivers commentedon Sep 23, 2016
chrivers commentedon Sep 23, 2016
jonas-schievink commentedon Sep 23, 2016
cargo rustc
only passes the flags to the last crate compiled, which is a binary in your case. Trycargo rustc --lib -- -Ztime-passes
.chrivers commentedon Sep 23, 2016
Oops, you're quite right. This is that:
jonas-schievink commentedon Sep 23, 2016
time: 6.139; rss: 352MB CopyPropagation
cc @pcwalton
chrivers commentedon Sep 26, 2016
Is there anything I can do to help?
nikomatsakis commentedon Sep 26, 2016
Nominated to discuss priority. Marked as regression.
40 remaining items
Auto merge of #57351 - oli-obk:cheap_const_ops, r=<try>
Rollup merge of rust-lang#57351 - oli-obk:cheap_const_ops, r=RalfJung
Auto merge of rust-lang#77373 - jonas-schievink:rm-rf-copy-prop, r=ol…