[GHC] #16253: Offer a shorthand for `--skip=_build/stage$n/compiler/.dependencies.mk`
GHC
ghc-devs at haskell.org
Tue Jan 29 13:00:50 UTC 2019
#16253: Offer a shorthand for `--skip=_build/stage$n/compiler/.dependencies.mk`
-------------------------------------+-------------------------------------
Reporter: sgraf | Owner: (none)
Type: task | Status: new
Priority: normal | Milestone:
Component: Build System | Version: 8.6.3
(Hadrian) |
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by snowleopard):
> Andrey, is the reason this is hideously expensive because `ghc -M` is
hideously expensive?
There are ~500 Haskell files in the `compiler` directory, so global (i.e.
per-package) dependency analysis can't be very fast, however efficiently
it is implemented.
> If not, then using oracles to cache the various parts of
`dependencies.mk` would be the right solution.
This is what we do, but this doesn't solve the problem: right now, if you
edit a single Haskell file in `compiler`, we will rerun `ghc -M` on the
whole set of ~500 package files. Yes, oracles will helpfully cut the
changes from propagating further, but this single `ghc -M` invocation will
be slow.
I think the only solution is to have a way (e.g. a new GHC flag) to run
dependency analysis on a single file, without transitive exploration of
all its dependencies.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16253#comment:12>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list