This project is mirrored from https://github.com/hvr/parsec. Pull mirroring updated .
  1. 09 May, 2022 1 commit
  2. 08 May, 2022 4 commits
  3. 29 Apr, 2022 2 commits
  4. 19 Nov, 2021 7 commits
  5. 17 Nov, 2021 7 commits
  6. 04 Oct, 2021 1 commit
  7. 09 Sep, 2021 1 commit
  8. 08 Sep, 2021 2 commits
  9. 22 May, 2021 1 commit
  10. 12 Dec, 2020 1 commit
  11. 21 Oct, 2020 1 commit
  12. 11 Sep, 2020 1 commit
  13. 13 Apr, 2020 1 commit
    • Alexis King's avatar
      Add INLINABLE pragmas to most overloaded combinators · ce416997
      Alexis King authored and Herbert Valerio Riedel's avatar Herbert Valerio Riedel committed
      This adds INLINABLE pragmas to most exported combinators, which enables
      cross-module specialization of the Stream constraint (which can in turn
      enable further optimizations). This improves performance of these
      combinators in scenarios where GHC chooses not to inline them, since
      they may still be specialized instead.
      
      This change is primarily in response to a performance regression
      discovered by the GHC performance test suite when running haddock (since
      haddock uses parsec). The full discussion is available here:
      
          ghc/ghc!3041
      
      The gist is that, without these pragmas, performance relies too heavily
      on inlining heuristics working out in our favor, and subtle changes in
      the optimizer can cause regressions.
      
      The GHC performance tests suggest this patch reliably reduces runtime of
      haddock on base by 7–9% and allocation by 3–5%. Pretty good for doing
      something so simple!
      ce416997
  14. 14 Nov, 2019 1 commit
  15. 02 Jul, 2019 6 commits
  16. 27 Jun, 2019 1 commit
  17. 13 Jun, 2019 1 commit
  18. 18 Dec, 2018 1 commit