-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NLL can be very slow #47597
Labels
A-NLL
Area: Non-lexical lifetimes (NLL)
C-enhancement
Category: An issue proposing an enhancement or a PR with one.
I-compiletime
Issue: Problems and improvements with respect to compile times.
NLL-performant
Working towards the "performance is good" goal
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Comments
Full output without NLL:
|
Full output with NLL:
|
cc @rust-lang/wg-compiler-nll |
See also: #47267 (comment) |
nikomatsakis
added
I-compiletime
Issue: Problems and improvements with respect to compile times.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
A-NLL
Area: Non-lexical lifetimes (NLL)
labels
Jan 19, 2018
nikomatsakis
added
the
NLL-performant
Working towards the "performance is good" goal
label
Mar 14, 2018
jkordish
added
the
C-enhancement
Category: An issue proposing an enhancement or a PR with one.
label
Apr 17, 2018
I'm going to close this issue. Not because NLL is fast, but because the problem is fairly well understood and this issue is not specific to any particular thing. =) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-NLL
Area: Non-lexical lifetimes (NLL)
C-enhancement
Category: An issue proposing an enhancement or a PR with one.
I-compiletime
Issue: Problems and improvements with respect to compile times.
NLL-performant
Working towards the "performance is good" goal
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
In servo/html5ever@3d5e24b,
RUSTFLAGS="-Ztime-passes" cargo +nightly-2018-01-19 build -j1
(with-j1
to maketime-passes
readable) ends in 31 seconds.With
-Znll
added, it takes 233 seconds, a ~7× slowdown.Each log contains 41
MIR borrow checking
lines. Without NLL they’re all under 1 second. With it, the ones over 1 second are:They add up to roughly all of the time difference. They are for the
serde
,syn
,serde_derive_internals
, andserde_derive
crates respectively.The text was updated successfully, but these errors were encountered: