[GHC] #8610: Rebuild on a definition-based granularity

#8610: Rebuild on a definition-based granularity ------------------------------------+------------------------------------- Reporter: EyalLotem | Owner: Type: feature request | Status: new Priority: normal | Milestone: _|_ Component: Compiler | Version: 7.6.3 Keywords: | Operating System: Unknown/Multiple Architecture: Unknown/Multiple | Type of failure: None/Unknown Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | ------------------------------------+------------------------------------- Currently, GHC rebuilds modules whose mtime suggests they changed, and all dependent modules. This rebuilds *far* more than is actually necessary due to the change. For example, if a single definition changed in a module, only that definition needs to be rebuilt, and very few of the definitions in the dependent modules probably depend on it, so only they ought to be rebuilt. Another example, is temporarily checking out a different branch, and then going back to the master branch. In this case, the mtimes of many modules will change, but the content will remain the same. If definition-granularity changes were detected, rather than module- granularity, this scenario will rebuild nothing. This improvement could shorten the development cycle of all Haskell projects significantly, making Haskell a significantly more productive language to use on larger projects. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8610 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC