[GHC] #14980: Runtime performance regression with binary operations on vectors

GHC ghc-devs at haskell.org
Wed Jun 27 09:33:09 UTC 2018


#14980: Runtime performance regression with binary operations on vectors
-------------------------------------+-------------------------------------
        Reporter:  ttylec            |                Owner:  bgamari
            Type:  bug               |               Status:  new
        Priority:  high              |            Milestone:  8.8.1
       Component:  Compiler          |              Version:  8.2.2
      Resolution:                    |             Keywords:  vector
                                     |  bitwise operations
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:                    |
-------------------------------------+-------------------------------------

Comment (by tdammers):

 Another data point: I dumped stack's `cabal.config` for the LTS 11.1
 release into my cabal project and compiled with `--with-
 compiler=/usr/local/bin/ghc-8.2.2`, and the result I'm getting is this:

 {{{
 "Generated"
 benchmarking 64 columns/raw unbox vectors
 time                 460.0 μs   (447.0 μs .. 473.6 μs)
                      0.995 R²   (0.992 R² .. 0.997 R²)
 mean                 446.4 μs   (440.2 μs .. 455.1 μs)
 std dev              24.42 μs   (17.29 μs .. 31.22 μs)
 variance introduced by outliers: 48% (moderately inflated)

 benchmarking 64 columns/binary packed
 time                 52.25 μs   (51.66 μs .. 53.04 μs)
                      0.998 R²   (0.997 R² .. 0.999 R²)
 mean                 52.60 μs   (51.99 μs .. 53.67 μs)
 std dev              2.665 μs   (1.919 μs .. 4.073 μs)
 variance introduced by outliers: 55% (severely inflated)

 benchmarking 256 columns/raw unbox vectors
 time                 439.9 μs   (434.4 μs .. 447.4 μs)
                      0.998 R²   (0.997 R² .. 1.000 R²)
 mean                 439.0 μs   (435.0 μs .. 446.4 μs)
 std dev              17.95 μs   (10.79 μs .. 27.38 μs)
 variance introduced by outliers: 35% (moderately inflated)

 benchmarking 256 columns/binary packed
 time                 304.7 μs   (288.7 μs .. 330.4 μs)
                      0.965 R²   (0.940 R² .. 0.998 R²)
 mean                 324.1 μs   (302.9 μs .. 364.4 μs)
 std dev              62.33 μs   (26.19 μs .. 97.61 μs)
 variance introduced by outliers: 91% (severely inflated)
 }}}

 However, I'm getting the same bad behavior when I pin libraries to LTS
 11.15, and also when I don't pin libraries at all. So it's not the
 libraries.

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


More information about the ghc-tickets mailing list