You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here is a chart giving real time output from time rustc main.rs -o out with n of the lines of the form [0xDD, 0xCB, d, 0x00 ] uncommented.
n
sec
100
0.561
200
1.457
300
3.042
400
5.474
500
8.061
600
12.364
700
17.520
800
25.105
900
37.410
1000
48.006
1100
72.33
With this gist I've tried to create a fairly minimal example. It's not as minimal as maybe it could be because it's a little tricky to figure out what's causing the slow compiles and I've spent as much time as I can on this right now. It's very sensitive to seemingly irrelevant changes in the code. If I remove the unused count variable, compile times dramatically improve. If I remove the empty for loop, compile times dramatically improve.
On my actual project, I am getting compile times in excess of 20 minutes. To compile a few thousand lines of code.
The text was updated successfully, but these errors were encountered:
We used to propagate bits in node-id order, which sometimes caused an
excessive number of iterations, especially when macros were present. As
everyone knows, visiting the CFG in RPO bounds the number of iterators
by 1 plus the depth of the most deeply nested loop (times the height of
the lattice, which is 1).
Fixesrust-lang#43704.
rustc::middle::dataflow - visit the CFG in RPO
We used to propagate bits in node-id order, which sometimes caused an
excessive number of iterations, especially when macros were present. As
everyone knows, visiting the CFG in RPO bounds the number of iterators
by 1 plus the depth of the most deeply nested loop (times the height of
the lattice, which is 1).
I have no idea how this affects borrowck perf in the non-worst-case, so it's probably a good idea to not roll this up so we can see the effects.
Fixes#43704.
r? @eddyb
See this gist.
Here is a chart giving
real
time output fromtime rustc main.rs -o out
withn
of the lines of the form[0xDD, 0xCB, d, 0x00 ]
uncommented.With this gist I've tried to create a fairly minimal example. It's not as minimal as maybe it could be because it's a little tricky to figure out what's causing the slow compiles and I've spent as much time as I can on this right now. It's very sensitive to seemingly irrelevant changes in the code. If I remove the unused
count
variable, compile times dramatically improve. If I remove the emptyfor
loop, compile times dramatically improve.On my actual project, I am getting compile times in excess of 20 minutes. To compile a few thousand lines of code.
The text was updated successfully, but these errors were encountered: