[GHC] #11501: Building nofib/fibon returns permission denied
GHC
ghc-devs at haskell.org
Fri Dec 23 10:45:04 UTC 2016
#11501: Building nofib/fibon returns permission denied
-------------------------------------+-------------------------------------
Reporter: rem | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: NoFib benchmark | Version: 7.10.3
suite |
Resolution: | Keywords:
Operating System: Linux | Architecture: x86_64
| (amd64)
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by gracjan):
After some research I have some insights to share. Looks like nofib is
used for two distinct purposes:
1. To test speed of generated code.
2. To test compilation speed.
`nofib` setup is geared towards interactive use, that is to be able to run
speed experiments and compare them pair-wise.
Running `make` runs both compilation speed and execution speed tests at
the same time. There is also a way to run `valgrind`s `cachegrind` at the
same time.
Major problems with the test suite I see now are:
1. Only a handful of speed tests are enabled, everything else bitrots.
2. Build system compiles objects and links them, does not use `--make`.
3. Build system is ill suited for tests extracted from cabal projects.
4. There is a confusion between compilation speed tests and execution
speed tests.
The way forward as I see:
1. Enable all tests by default, but make it easy to select a subset for
interactive work.
2. Use `ghc --make` for builds of simpler cases (no dependencies besiades
what is shipped with ghc).
3. Use `cabal install` for more complicated cases (with more
dependencies).
4. Clearly separate compilation speed tests from execution speed tests.
And in distant future:
1. Run execution speed tests on TravisCI in multiple combinations of
os/ghc/flags/test.
2. Run compilation speed tests on TravisCI in multiple combinations of
os/ghc/flags/test.
3. Run incremental compilation speed tests on TravisCI in multiple
combinations of os/ghc/flags/test.
4. Publish metrics to some kind of timeseries database.
5. Let Grafana show some nice graphs.
Graphana is here: http://grafana.org/
I'd like to hear from people that use nofib in daily work how do they do
this so that we do not skip any important use cases. Can you guys chime in
and describe your workflow?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11501#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list