[GHC] #8610: Rebuild on a definition-based granularity
GHC
ghc-devs at haskell.org
Wed Dec 11 11:47:00 UTC 2013
#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
More information about the ghc-tickets
mailing list