
#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 ttylec): Moreover, I try to reproduce my previous results (I had plan to switch to hs-gauge from criterion to lighten dependencies) and now I cannot reproduce results on my machine (?!). I consistently get order-of-magnitude speedup with ghc-8.0.2, ghc-8.2.2 (from lts-11.1 and lts-11.15) as well as ghc-8.4.3 (nightly snapshot). I try to figure out what changed... and the only difference I find is the fact that I installed newest ubuntu in mean time. And I have newer version of `stack` tool. This is totally confusing. GHC is installed by stack from binaries too... but I guess that packages tagged with version number don't change in time. BTW, times I get currently: {{{ (zettafox) ➜ ghc-bug stack exec performance-bug-pair-2 "Generated" benchmarking 64 columns/raw unbox vectors time 377.3 μs (372.6 μs .. 383.3 μs) 0.998 R² (0.996 R² .. 0.999 R²) mean 379.4 μs (375.5 μs .. 387.9 μs) std dev 19.02 μs (12.01 μs .. 30.94 μs) variance introduced by outliers: 46% (moderately inflated) benchmarking 64 columns/binary packed time 21.32 μs (21.20 μs .. 21.45 μs) 1.000 R² (0.999 R² .. 1.000 R²) mean 21.21 μs (21.10 μs .. 21.35 μs) std dev 426.0 ns (334.1 ns .. 567.0 ns) variance introduced by outliers: 18% (moderately inflated) benchmarking 256 columns/raw unbox vectors time 373.3 μs (366.7 μs .. 381.9 μs) 0.997 R² (0.994 R² .. 0.999 R²) mean 368.1 μs (365.6 μs .. 374.9 μs) std dev 12.72 μs (8.188 μs .. 22.90 μs) variance introduced by outliers: 29% (moderately inflated) benchmarking 256 columns/binary packed time 27.32 μs (27.14 μs .. 27.53 μs) 1.000 R² (1.000 R² .. 1.000 R²) mean 27.30 μs (27.16 μs .. 27.49 μs) std dev 535.0 ns (432.6 ns .. 704.7 ns) variance introduced by outliers: 17% (moderately inflated) }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14980#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler