Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upSlower binaries since some days #42935
Comments
leonardo-m
referenced this issue
Jun 27, 2017
Closed
Binary size blowup presumably because of allocator integration #42808
This comment has been minimized.
This comment has been minimized.
|
I compile with: |
This comment has been minimized.
This comment has been minimized.
|
Old asm compared to the new asm: (Moved to a gist after suggestion by @pnkfelix). |
This comment has been minimized.
This comment has been minimized.
|
I also observe a time slowdown on when
(I note this largely to add the data point that this is not just a windows issue.) |
This comment has been minimized.
This comment has been minimized.
|
@leonardo-m it might be good to move those asm dumps to a gist; they're pretty long to scroll through on the thread... |
This comment has been minimized.
This comment has been minimized.
|
(Seems obvious from the asm dumps that one piece of low hanging fruit would be to add some inlining directives to |
This comment has been minimized.
This comment has been minimized.
|
I have few other similar small programs that got slower in this timeframe (but their slowdown is smaller. On average I've seen a 10%+ increase of run-time).
Yes, compilation time of my programs is also increased (perhaps because the compiler as well is slower). |
This comment has been minimized.
This comment has been minimized.
Sorry, I meant "executing this benchmark when compiled with new Allocator support." (The part I was trying to emphasize was that I duplicated the problem on a non-Windows platform) |
pnkfelix
self-assigned this
Jun 27, 2017
This comment has been minimized.
This comment has been minimized.
|
Yeah, this was picked up by perf.rlo as well. MIR end regions and then allocators slowed down compilation time in all crates, I believe. |
This comment has been minimized.
This comment has been minimized.
|
(yeah a little embarrassing to have authored both of those PRs and have to deal with the fallout now...) |
This comment has been minimized.
This comment has been minimized.
|
A collection of judiciously placed |
This comment has been minimized.
This comment has been minimized.
Very nice. I'll test your changes when they are in a Nightly. And I'll report if there are other performance regressions. |
This comment has been minimized.
This comment has been minimized.
|
However, the |
This comment has been minimized.
This comment has been minimized.
|
Also, it seems like @alexcrichton has independently added many of the same |
This comment has been minimized.
This comment has been minimized.
|
(yes, I just built a |
This comment has been minimized.
This comment has been minimized.
|
Replacing the step_by feature with iterator_step_by, and using .step_by(pp as usize), now the best-of-three run-time is 0.47 seconds. |
brson
added
T-compiler
P-medium
labels
Jul 13, 2017
This comment has been minimized.
This comment has been minimized.
|
Hmm indeed, seems like the running times regressed further between |
Mark-Simulacrum
added
the
C-enhancement
label
Jul 26, 2017
This comment has been minimized.
This comment has been minimized.
|
1.20 is now beta |
arielb1
added
regression-from-stable-to-beta
and removed
regression-from-stable-to-nightly
labels
Aug 9, 2017
This comment has been minimized.
This comment has been minimized.
|
Looking into this, some things I've learned:
tl;dr this is fixed, no need for a backport, closing. |
alexcrichton
closed this
Aug 12, 2017
This comment has been minimized.
This comment has been minimized.
|
Thank you, this specific program is indeed fixed (run-time is now 0.40 s), but other performance regressions are not yet fixed, so I'll open other bug reports. |
This comment has been minimized.
This comment has been minimized.
|
Yes that'd be much appreciated, thanks @leonardo-m! |
leonardo-m commentedJun 27, 2017
•
edited by pnkfelix
This could have the same causes of Issue 42808 (i.e. regression due to #42313), or perhaps not.
This small test program solves the Euler problem number 214:
On my PC using nightly-2017-06-18-x86_64-pc-windows-gnu it runs in about 0.39 seconds, while using a more recent Nightly, like the current rustc 1.19.0-nightly (78d8416 2017-06-17), it runs in about 0.87 seconds.