#11095: -O0 -g slows GHC down on list literals (compared to -O0 without -g) -------------------------------------+------------------------------------- Reporter: slyfox | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): phab:D3001 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Ben Gamari <ben@…>): In [changeset:"532c6ade49e9e8e7e98c35451058ba7e4ee7bb9c/ghc" 532c6ad/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="532c6ade49e9e8e7e98c35451058ba7e4ee7bb9c" Make tickishContains faster This just reorders some inequality checks to make the common case cheaper. The results are quite dramatic for #11095, but that's probably because something else is causing it to do too much work. Before (full https://phabricator.haskell.org/P136): ``` 13,589,495,832 bytes allocated in the heap ``` After (full https://phabricator.haskell.org/P137): ``` 7,885,575,872 bytes allocated in the heap ``` This is with `BuildFlavour = devel2`, so take it with a a grain of salt. For reference, with no `-g` I get: ``` 155,703,112 bytes allocated in the heap ``` so we're still quite a way off. Test Plan: harbormaster I still have to test locally Reviewers: austin, bgamari Subscribers: thomie, simonmar Differential Revision: https://phabricator.haskell.org/D3001 GHC Trac Issues: #11095 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11095#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler