[commit: haddock] alexbiehl-patch-1, ghc-head, ghc-head1, headdock-library-1.4.5, ie_avails, master, pr-filter-maps, pr/cabal-desc, v2.18, wip/T14529, wip/revert-ttg-2017-11-20, wip/ttg-2017-10-13, wip/ttg-2017-10-31, wip/ttg-2017-11-06, wip/ttg2-2017-11-10, wip/ttg3-2017-11-12, wip/ttg4-constraints-2017-11-13, wip/ttg6-unrevert-2017-11-22: Improve Syb code (#621) (506f614)

git at git.haskell.org git at git.haskell.org
Tue Nov 28 11:52:14 UTC 2017


Repository : ssh://git@git.haskell.org/haddock

On branches: alexbiehl-patch-1,ghc-head,ghc-head1,headdock-library-1.4.5,ie_avails,master,pr-filter-maps,pr/cabal-desc,v2.18,wip/T14529,wip/revert-ttg-2017-11-20,wip/ttg-2017-10-13,wip/ttg-2017-10-31,wip/ttg-2017-11-06,wip/ttg2-2017-11-10,wip/ttg3-2017-11-12,wip/ttg4-constraints-2017-11-13,wip/ttg6-unrevert-2017-11-22
Link       : http://git.haskell.org/haddock.git/commitdiff/506f614402192bd7b6a9a608e925a01b373b2bdc

>---------------------------------------------------------------

commit 506f614402192bd7b6a9a608e925a01b373b2bdc
Author: Doug Wilson <dwilson at ricoh.co.nz>
Date:   Sun May 28 05:54:53 2017 +1200

    Improve Syb code (#621)
    
    Specialize.hs and Ast.hs are modified to have their Syb code not recurse into
    Name or Id in HsSyn types.
    
    Specialize.hs is refactored to have fewer calls to Syb functions.
    
    Syb.hs has some foldl calls replaced with foldl' calls.
    
    There is still a lot of performance on the floor of Ast.hs. The RenamedSource
    is traversed many times, and lookupBySpan is very inefficient. everywhereBut and
    lookupBySpan dominate the runtime whenever --hyperlinked-source is passed.


>---------------------------------------------------------------

506f614402192bd7b6a9a608e925a01b373b2bdc
 .../src/Haddock/Backends/Hyperlinker/Ast.hs        | 28 ++++++-----
 haddock-api/src/Haddock/Interface/Specialize.hs    | 58 +++++++++-------------
 haddock-api/src/Haddock/Syb.hs                     | 55 +++++++++++++++++---
 3 files changed, 88 insertions(+), 53 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 506f614402192bd7b6a9a608e925a01b373b2bdc


More information about the ghc-commits mailing list