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
I have also attached a performance capture (Done with XCode/Instruments on Mac) which i took for a while (not the whole duration of the compile but should hopefully give a hint on where most of the time is being spent)
This looks like it's hitting the same problem as #28273, but applying a workaround for that still results in a pretty slow build, so there's probably more to this.
The last landing pad block has 514 drop calls, so that makes 132355 drop calls in total. No wonder this takes some time. (With a mitigation for the inlining assumption cache problem, I'm down to ~15minutes on my box though)
Oh dear, if we're not sharing cleanup code then it's likely my fault and connected to #30448. @dotdash do you have a small sample that exhibits this? I wouldn't mind looking into it to see if I broke something!
Activity
emoon commentedon Feb 3, 2016
jonas-schievink commentedon Feb 3, 2016
I recall that the assumption cache (tracker?) made some problems before... Where are we using assumptions for, exactly?
cc @dotdash, I guess :)
dotdash commentedon Feb 3, 2016
This looks like it's hitting the same problem as #28273, but applying a workaround for that still results in a pretty slow build, so there's probably more to this.
dotdash commentedon Feb 3, 2016
Seems that we lost some re-use for landing pads. The cleanup code grows quadratically with the number of calls that may unwind:
The last landing pad block has 514 drop calls, so that makes 132355 drop calls in total. No wonder this takes some time. (With a mitigation for the inlining assumption cache problem, I'm down to ~15minutes on my box though)
emoon commentedon Feb 3, 2016
Thanks for looking into this :)
alexcrichton commentedon Feb 3, 2016
Oh dear, if we're not sharing cleanup code then it's likely my fault and connected to #30448. @dotdash do you have a small sample that exhibits this? I wouldn't mind looking into it to see if I broke something!
emoon commentedon Feb 3, 2016
@alexcrichton Are you sure about that? This happens on stable also.
alexcrichton commentedon Feb 3, 2016
Aha, in that case it may not be a regression but a pre-existing bug, never mind!
dotdash commentedon Feb 3, 2016
This is present since 2014 AFAICT. I'll likely have a patch ready this evening.
Rollup merge of rust-lang#31390 - dotdash:fix_quadratic_drop, r=nagisa
Auto merge of #31390 - dotdash:fix_quadratic_drop, r=nagisa