[GHC] #14980: Runtime performance regression with binary operations on vectors
GHC
ghc-devs at haskell.org
Thu Jun 21 14:09:25 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):
Hmm, I spent all day trying to reproduce this, but I'm getting exactly the
results you'd want. I built the package with cabal, once using ghc 8.0.2,
and once using 8.2.2 (both installed from linux-x86_64 release bundles
downloaded directly from haskell.org), and I get the same behavior across
both compilers, with performance metrics similar to what you're seeing in
the 8.0.2 case.
Output from `performance-bug-pair1`, compiled with GHC 8.2.2:
{{{
tobias at zoidberg:~/well-typed/devel/ghc-T14980/ghc-bug/ > performance-bug-
pair-1
"Generated"
benchmarking 256 columns/raw unbox vectors
time 478.6 μs (477.8 μs .. 479.9 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 476.4 μs (476.0 μs .. 477.0 μs)
std dev 1.501 μs (1.076 μs .. 2.501 μs)
benchmarking 256 columns/binary packed
time 275.2 μs (271.7 μs .. 278.6 μs)
0.999 R² (0.998 R² .. 1.000 R²)
mean 280.2 μs (276.6 μs .. 283.2 μs)
std dev 6.706 μs (5.090 μs .. 9.040 μs)
variance introduced by outliers: 13% (moderately inflated)
}}}
And with 8.0.2:
{{{
"Generated"
benchmarking 256 columns/raw unbox vectors
time 476.9 μs (474.4 μs .. 480.5 μs)
1.000 R² (1.000 R² .. 1.000 R²)
mean 473.5 μs (472.5 μs .. 475.1 μs)
std dev 4.097 μs (2.212 μs .. 7.591 μs)
benchmarking 256 columns/binary packed
time 291.3 μs (286.8 μs .. 295.4 μs)
0.999 R² (0.998 R² .. 1.000 R²)
mean 297.4 μs (293.6 μs .. 300.1 μs)
std dev 6.918 μs (4.971 μs .. 9.873 μs)
variance introduced by outliers: 12% (moderately inflated)
}}}
So there must be something about my setup that makes the bug disappear.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14980#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list