[GHC] #14072: Code generated by GHC 8.2.1 faster than 8.0.1 but still somewhat slower than 7.10.3

GHC ghc-devs at haskell.org
Tue Aug 1 12:15:14 UTC 2017


#14072: Code generated by GHC 8.2.1 faster than 8.0.1 but still somewhat slower
than 7.10.3
-------------------------------------+-------------------------------------
           Reporter:  harendra       |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.2.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  Runtime
  Unknown/Multiple                   |  performance bug
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 Unicode normalization library (https://github.com/harendra-kumar/unicode-
 transforms) shows around 10% improvement with GHC 8.2.1 when compared to
 GHC 8.0.1, across most benchmarks. However, it is still somewhat slower
 when compared to GHC 7.10.3. On the other hand, when compared to GHC
 7.8.4, GHC 8.2.1 is marginally better.

 This library has been optimized with an objective to match or better (in
 some cases it is better) the performance of the equivalent ICU C++ library
 (compare only decompose normalization). Some of the last hurdles to match
 the best case of C++ were in the code generated by GHC. I filed a couple
 of ghc trac tickets earlier on that.

 You can reproduce these results easily as follows:

 {{{
 $ git clone https://github.com/harendra-kumar/unicode-transforms.git
 $ git checkout -b v0.3.3 v0.3.3
 $ echo ghc-8.0
 $ stack bench
 $ stack bench --stack-yaml stack-7.10.yaml
 $ stack bench --stack-yaml stack-8.2.yaml
 }}}

 Here are some excerpts from the benchmarks:

 GHC 7.10.3:

 {{{
 benchmarking unicode-transforms-text/NFD/English
 time                 4.823 ms   (4.765 ms .. 4.902 ms)

 benchmarking unicode-transforms-text/NFD/Deutsch
 time                 5.607 ms   (5.522 ms .. 5.673 ms)

 }}}

 GHC 8.0.1

 {{{
 benchmarking unicode-transforms-text/NFD/English
 time                 6.330 ms   (6.232 ms .. 6.439 ms)

 benchmarking unicode-transforms-text/NFD/Deutsch
 time                 7.109 ms   (7.034 ms .. 7.183 ms)

 }}}

 GHC 8.2.1

 {{{
 benchmarking unicode-transforms-text/NFD/English
 time                 5.659 ms   (5.594 ms .. 5.740 ms)

 benchmarking unicode-transforms-text/NFD/Deutsch
 time                 6.406 ms   (6.329 ms .. 6.478 ms)

 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14072>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list