[GHC] #13025: Type family reduction irregularity (change from 7.10.3 to 8.0.1)
GHC
ghc-devs at haskell.org
Fri Dec 23 00:45:00 UTC 2016
#13025: Type family reduction irregularity (change from 7.10.3 to 8.0.1)
-------------------------------------+-------------------------------------
Reporter: acowley | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: | Keywords: TypeFamilies
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 acowley):
All the benchmarks in that suite should result in similar times. The idea
is that it tests different representations and ways of accessing fields of
records. The times you have there look somewhat suspicious to me. Here are
my results,
With GHC-8.0.1,
{{{
benchmarking flat
time 6.851 μs (6.658 μs .. 7.040 μs)
0.995 R² (0.993 R² .. 0.996 R²)
mean 6.912 μs (6.757 μs .. 7.093 μs)
std dev 577.7 ns (480.4 ns .. 799.9 ns)
variance introduced by outliers: 82% (severely inflated)
benchmarking vinyl
time 7.081 μs (6.912 μs .. 7.240 μs)
0.995 R² (0.992 R² .. 0.997 R²)
mean 7.116 μs (6.970 μs .. 7.308 μs)
std dev 555.6 ns (437.9 ns .. 710.6 ns)
variance introduced by outliers: 80% (severely inflated)
benchmarking vinyl-lens
time 17.55 μs (17.15 μs .. 18.01 μs)
0.995 R² (0.994 R² .. 0.997 R²)
mean 17.84 μs (17.42 μs .. 18.47 μs)
std dev 1.709 μs (1.244 μs .. 2.326 μs)
variance introduced by outliers: 84% (severely inflated)
benchmarking reasonable
time 7.250 μs (7.069 μs .. 7.403 μs)
0.996 R² (0.994 R² .. 0.997 R²)
mean 7.070 μs (6.931 μs .. 7.245 μs)
std dev 502.5 ns (428.5 ns .. 586.9 ns)
variance introduced by outliers: 77% (severely inflated)
}}}
While with GHC-7.10.3, I get,
{{{
benchmarking flat
time 7.107 μs (6.964 μs .. 7.265 μs)
0.995 R² (0.993 R² .. 0.997 R²)
mean 7.241 μs (7.087 μs .. 7.431 μs)
std dev 592.3 ns (498.5 ns .. 754.0 ns)
variance introduced by outliers: 82% (severely inflated)
benchmarking vinyl
time 7.426 μs (7.295 μs .. 7.586 μs)
0.995 R² (0.993 R² .. 0.997 R²)
mean 7.404 μs (7.230 μs .. 7.612 μs)
std dev 648.7 ns (530.0 ns .. 800.1 ns)
variance introduced by outliers: 83% (severely inflated)
benchmarking vinyl-lens
time 7.256 μs (7.097 μs .. 7.414 μs)
0.995 R² (0.992 R² .. 0.998 R²)
mean 7.281 μs (7.119 μs .. 7.418 μs)
std dev 507.4 ns (410.6 ns .. 651.8 ns)
variance introduced by outliers: 76% (severely inflated)
benchmarking reasonable
time 7.231 μs (7.055 μs .. 7.385 μs)
0.995 R² (0.993 R² .. 0.997 R²)
mean 7.221 μs (7.069 μs .. 7.388 μs)
std dev 540.9 ns (453.3 ns .. 635.3 ns)
variance introduced by outliers: 79% (severely inflated)
}}}
The `vinyl-lens` time going from 7.2 μs to 17.84 μs is representative of
what I referred to as a 2x slowdown. This is on a 1.3 GHz Intel Core i5.
It doesn't seem likely that you are running on that much of a slower CPU,
but it is possible.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13025#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list