Opened 3 years ago

Closed 18 months ago

#12964 closed bug (invalid)

Runtime regression to RTS change

Reported by: nomeata Owned by:
Priority: normal Milestone:
Component: Runtime System Version: 8.1
Keywords: Cc: simonmar, maoe
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Runtime performance bug Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:

Description

The commit to fix #12799, namely changeset:1732d7ac43ca, seems to have introduced a runtime regression. The hidden and integer nofib benchmarks regress by 5.5% resp. 2.5%:

https://perf.haskell.org/ghc/#revision/1732d7ac43ca578deca39ea5a63cbf34f3cd9dd5

I re-measured this commit and its parent once, and the numbers aid not change much.

The hidden regression seems to be offset almost completely by the later changeset:6f7ed1e51bf360621a3c2a447045ab3012f68575 while the integer regression got “fixed” by the later changeset:1732d7ac43ca578deca39ea5a63cbf34f3cd9dd5.

The perf builder is still new, so this might be bogus. But we should still check.

Also, maybe random changes to the RTS cause random changes to the code layout which surface here. Or there is a real cause.

Simon Marlow suggested to open a high priority ticket for this.

Change History (6)

comment:1 Changed 3 years ago by simonmar

The fact that some of these tests seem to wobble around in response to unrelated changes suggests that it's something like an alignment or locality issue. These can be a pain to track down, especially when the difference is only 5%. The best plan of attack is to use perf to identify where the extra cycles are going (hopefully the extra 5% is localised in one place) and then go from there.

comment:2 Changed 3 years ago by nomeata

Priority: highestnormal

Further measurements show that the wobbling of hidden correlates with changes to the RTS, but it also changed due to changeset:514c01eec5f2b23f278c29b61345dce6c37900f1. There seems to be a performance cliff of sorts, which is very annoying when trying to keep tabs on performance, but probably not a high priority blocker for the release, especially as it is likely not a simple bug introduced by any single commit.

comment:3 Changed 2 years ago by maoe

Cc: maoe added

comment:4 Changed 2 years ago by bgamari

Milestone: 8.2.18.4.1

Given that 8.2.1-rc1 is imminent, I'm bumping these off to the 8.4

comment:5 Changed 20 months ago by bgamari

Milestone: 8.4.18.6.1

This ticket won't be resolved in 8.4; remilestoning for 8.6. Do holler if you are affected by this or would otherwise like to work on it.

comment:6 Changed 18 months ago by bgamari

Milestone: 8.6.1
Resolution: invalid
Status: newclosed

This doesn't really seem to be a bug but rather an unfortunate property of a particular test. Closing since there is nothing clearly actionable here, although do feel free to reopen if you disagree.

Note: See TracTickets for help on using tickets.