Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. Feb 12, 2013
  2. Feb 11, 2013
    • Joachim Breitner's avatar
      Much faster Distribution.Client.Dependency.Modular.PSQ.splits · 895487aa
      Joachim Breitner authored
      This reduces the runtime of "cabal install --dry-run" on a large cabal
      file (550 dependencies) from ~12s to 2.1s. Equivalency with previous
      implementation verified with QuickCheck in ghci.
      
      This is a guess: The speedup is mostly due to how to the previous
      entries are added to the result of the recursive call. Previously, for
      every entry to be added, the whole result list is mapped over (lots of
      allocations), and then each tuple is taken apart and reconstructed with
      a changed right value (again, lots of allocations). The new code
      assembles a function in an accumulator that represents the required
      update and applies it where needed, hence building the list and tuples
      only once.
      895487aa
  3. Feb 10, 2013
  4. Feb 09, 2013
  5. Feb 08, 2013
  6. Feb 06, 2013
  7. Jan 31, 2013
  8. Jan 28, 2013
  9. Jan 27, 2013
  10. Jan 23, 2013
  11. Jan 17, 2013
  12. Jan 16, 2013
  13. Jan 14, 2013
  14. Jan 13, 2013
  15. Jan 11, 2013
  16. Jan 09, 2013
Loading