#2159: Use a more efficient representation than [DynFlag]
---------------------------------+------------------------------------------
Reporter: igloo | Owner:
Type: bug | Status: new
Priority: low | Milestone: 7.0.1
Component: Compiler | Version: 6.8.2
Keywords: | Testcase:
Blockedby: | Difficulty: Unknown
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: Compile-time performance bug
---------------------------------+------------------------------------------
Comment(by igloo):
With plain HEAD, and HEAD with `bitmap.dpatch`, running
{{{
time ghc -v0 --make -O Setup.hs
}}}
in a Cabal tree (which thus also builds most of Cabal) I get:
{{{
Run 1
HEAD: 111.38 user 1.39 system 1:52.88 elapsed
Bitmap: 109.01 user 1.38 system 1:50.41 elapsed
Run 2
HEAD: 112.18 user 1.32 system 1:53.55 elapsed
Bitmap: 110.58 user 1.38 system 1:51.98 elapsed
Run 3
HEAD: 97.51 user 1.23 system 1:38.75 elapsed
Bitmap: 110.95 user 1.26 system 1:52.24 elapsed
Run 4
HEAD: 111.60 user 1.33 system 1:52.92 elapsed
Bitmap: 109.93 user 1.30 system 1:51.31 elapsed
Run 5
HEAD: 111.63 user 1.66 system 1:53.31 elapsed
Bitmap: 88.90 user 1.19 system 1:30.41 elapsed
Run 6
HEAD: 95.12 user 1.26 system 1:36.47 elapsed
Bitmap: 111.27 user 1.48 system 1:52.88 elapsed
Run 7
HEAD: 112.18 user 1.35 system 1:53.66 elapsed
Bitmap: 109.51 user 1.27 system 1:50.85 elapsed
Run 8
HEAD: 112.51 user 1.16 system 1:53.74 elapsed
Bitmap: 110.33 user 1.26 system 1:51.71 elapsed
Run 9
HEAD: 111.69 user 1.36 system 1:53.37 elapsed
Bitmap: 109.26 user 1.40 system 1:50.65 elapsed
Run 10
HEAD: 114.77 user 1.38 system 1:56.24 elapsed
Bitmap: 110.08 user 1.47 system 1:51.54 elapsed
}}}
so with the patch it takes 109-110 rather than 111-112s (although
occasionally a build is much quicker).
So not a huge performance increase, but it removes one of the slivers, and
it would be nice to get the `dopt` noise out of profiles. I think some
sort of extension (or generic program?) that makes bitmaps from
enumerations would be generally useful.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2159#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs