• niteria's avatar
    Make tickishContains faster · 532c6ade
    niteria authored
    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
    532c6ade
SrcLoc.hs 21.5 KB