nofib.git
6 months agoReplace mentions of {-# STRICT -#} with bangs in compress2 wip/strict-compress2
Sebastian Graf [Mon, 31 Dec 2018 10:10:41 +0000 (11:10 +0100)] 
Replace mentions of {-# STRICT -#} with bangs in compress2

The pragma hasn't been recognised for a long time.
Replacing it with bangs will change program semantics to how it was
intended. The perf CI build is currently broken anyway, so this
shouldn't skew numbers too much.

6 months agoCompare output of compress2 by hashing
Sebastian Graf [Mon, 31 Dec 2018 10:00:41 +0000 (11:00 +0100)] 
Compare output of compress2 by hashing

This should fix the build in the same way as D5469.

6 months agoTypofix
Greif [Thu, 27 Dec 2018 15:02:52 +0000 (16:02 +0100)] 
Typofix

6 months agoCLEAN_FILES for `reverse-complement`
Sebastian Graf [Sat, 29 Dec 2018 19:13:44 +0000 (20:13 +0100)] 
CLEAN_FILES for `reverse-complement`

Summary:
`reverse-complement` didn't have its `CLEAN_FILES` set.

That led to incomplete rebuilds of binaries and changes in
i.e. `FAST_OPTS` taking no effect, despite a prior `make clean`.

Reviewers: osa1, AndreasK, bgamari, O26 nofib

Differential Revision: https://phabricator.haskell.org/D5467

6 months agoCompare results of compress by hashing
Sebastian Graf [Wed, 26 Dec 2018 12:45:33 +0000 (13:45 +0100)] 
Compare results of compress by hashing

Summary:
We don't want the result in the repo as it's a sizeable binary file that
doesn't compress well.

Storing the output file in the repository becomes infeasible for large
inputs. There are two possible remedies:

1. Generate the result files during `make boot` (Phab:D5426). We
   discovered some drawbacks (like missing dependency files to build
   `compress` during boot) to this approach which make it infeasible.
2. Shrink the output files, for example by hashing the string that we would
   normally output and compare that instead.

This patch implements the second alternative. This somewhat distorts the
runtime profile, so we might want to consider doing hashing within the
benchmark runner in the future.

Test Plan: make boot

Reviewers: AndreasK, nomeata, O26 nofib, osa1

Reviewed By: AndreasK, osa1

Subscribers: osa1

Differential Revision: https://phabricator.haskell.org/D5469

7 months agoFix some broken links (#15733)
Fangyi Zhou [Sat, 22 Dec 2018 11:00:41 +0000 (12:00 +0100)] 
Fix some broken links (#15733)

Summary:
For links in subpackages as well.
https://phabricator.haskell.org/D5257

Test Plan: Manually verify links

Reviewers: mpickering, bgamari, O26 nofib, osa1

Reviewed By: osa1

GHC Trac Issues: #15733

Differential Revision: https://phabricator.haskell.org/D5260

7 months agoFix parsing of maximum residency in runstdtest
Sebastian Graf [Fri, 21 Dec 2018 13:24:11 +0000 (14:24 +0100)] 
Fix parsing of maximum residency in runstdtest

Summary:
`runstdtest` switched from `-S` to `-s` output a while ago.
That broke parsing of maximum and average residency numbers.

This commit makes sure that at least maximum residency is parsed
correctly from `-s` output, while leaving the logic for `-S` output.

Reviewers: simonmar, bgamari, simonpj, osa1, AndreasK, O26 nofib

Reviewed By: bgamari

GHC Trac Issues: #16003

Differential Revision: https://phabricator.haskell.org/D5418

8 months agoClean more generated files
Sebastian Graf [Thu, 22 Nov 2018 11:41:01 +0000 (12:41 +0100)] 
Clean more generated files

Summary:
When we don't remove the generated files, `make boot` won't regenerate
them. That in turn leads to expected output failures after bumping
`{FAST,NORM,SLOW}_OPTS`.

Test Plan: make clean && make boot && make

Reviewers: AndreasK, mpickering, osa1, alpmestan, O26 nofib

Reviewed By: alpmestan

Differential Revision: https://phabricator.haskell.org/D5365

8 months agoAdd binary artifacts to .gitignore
Sebastian Graf [Thu, 22 Nov 2018 11:40:36 +0000 (12:40 +0100)] 
Add binary artifacts to .gitignore

Summary:
I'm not sure why, but after D4989 (maybe also before) some binary
artifacts crept into the working tree.

Reviewers: AndreasK, mpickering, osa1, alpmestan, O26 nofib

Reviewed By: alpmestan

Differential Revision: https://phabricator.haskell.org/D5366

8 months agoFix `make clean` for `real/compress`
Sebastian Graf [Tue, 20 Nov 2018 11:47:34 +0000 (12:47 +0100)] 
Fix `make clean` for `real/compress`

Summary:
The `make boot` phase of `real/compress` generates files that are
cleaned up by `make clean` with `rm`. Doing `make clean` without a
prior `make boot` leads to a failure.

This just supplies `-f` to `rm` so that plain `make clean` no longer
fails.

Reviewers: O26 nofib

Differential Revision: https://phabricator.haskell.org/D5359

8 months agoAdjust normal runtimes for nofib along with related changes
klebinger.andreas@gmx.at [Wed, 14 Nov 2018 17:07:43 +0000 (18:07 +0100)] 
Adjust normal runtimes for nofib along with related changes

Runtime for nofib benchmarks was all over the place.
This patch adjusts runtime for most benchmarks such
that it falls into the 0.2-2s range.

This means that:
* A default run will take longer
* Time spent will be better distributed among benchmarks.
* More benchmarks have runtimes long enough to be used
  for runtime analysis.

Some more changes were done which go hand in hand
with changing runtimes.
* Some benchmarks now create their input files during boot.
* Moved input files for anna in their own directory.
* Remove printing of output for some of the floating
  point heavy benchmarks.
* Added a comment about desired runtimes to README.
* Made grep actually benchmark something.
* Throw cachgrind out of the default benchmarks.
  The nondeterministic behaviour has been an issue for a
  while and it doesn't seem like an essential benchmark.

Test Plan: run nofib in modes slow/normal/fast

Reviewers: O26 nofib, alpmestan

Reviewed By: alpmestan

Subscribers: sgraf, alpmestan

Differential Revision: https://phabricator.haskell.org/D4989

10 months agoDon't warn about tabs
klebinger.andreas@gmx.at [Mon, 27 Aug 2018 14:37:19 +0000 (16:37 +0200)] 
Don't warn about tabs

Summary: This removes a lot of noise from the nofib output.

Test Plan: running nofib

Reviewers: O26 nofib, alpmestan

Reviewed By: alpmestan

Subscribers: alpmestan

Differential Revision: https://phabricator.haskell.org/D4952

11 months agoMake lambda fit for MFP
Sebastian Graf [Wed, 22 Aug 2018 17:15:24 +0000 (13:15 -0400)] 
Make lambda fit for MFP

Summary:
The next step of the MonadFail Proposal broke nofib's lambda benchmark.
This commit fixes that in an unintrusive way.

Reviewers: O26 nofib, RyanGlScott, bgamari

Reviewed By: RyanGlScott

Subscribers: monoidal

Differential Revision: https://phabricator.haskell.org/D5058

13 months agoTypofix [ci skip]
Gabor Greif [Wed, 20 Jun 2018 13:32:37 +0000 (15:32 +0200)] 
Typofix [ci skip]

13 months agoSet -O2 via NoFibHcOpts instead of individual Makefiles.
klebinger.andreas@gmx.at [Sat, 16 Jun 2018 16:37:41 +0000 (12:37 -0400)] 
Set -O2 via NoFibHcOpts instead of individual Makefiles.

We set -O2 in NoFibHcOpts which is then applied to all benchmarks run.

Adding -O2 in individual benchmarks is therefore redundant.
It also leads to issues when testing performance flags via
EXTRA_HC_OPTS.
Individual Makefiles attach -O2 last. This means all
flags set by -O2 could not be disabled with -fno-<flag> as they
were reenabled by the later -O2 switch.

Test Plan: Using

Reviewers: bgamari, jmct, O26 nofib

Differential Revision: https://phabricator.haskell.org/D4829

13 months agoEliminate trailing whitespace
Matthew Pickering [Sat, 16 Jun 2018 16:37:26 +0000 (12:37 -0400)] 
Eliminate trailing whitespace

Reviewers: michalt, bgamari, O26 nofib, goldfire

Reviewed By: michalt, O26 nofib

Differential Revision: https://phabricator.haskell.org/D4045

13 months agoSeveral fixes to work with ghc-head
Douglas Wilson [Sat, 16 Jun 2018 16:37:03 +0000 (12:37 -0400)] 
Several fixes to work with ghc-head

Reviewers: O26 nofib, michalt

Reviewed By: O26 nofib, michalt

Subscribers: michalt

Differential Revision: https://phabricator.haskell.org/D4391

13 months agoDon't use binary output for real/eff.
klebinger.andreas@gmx.at [Sat, 16 Jun 2018 16:36:35 +0000 (12:36 -0400)] 
Don't use binary output for real/eff.

These use putStrLn so clearly we are not producing binary data.
This caused failures on windows.

Reviewers: O26 nofib, bgamari

Reviewed By: bgamari

Subscribers: bgamari

GHC Trac Issues: #14656

Differential Revision: https://phabricator.haskell.org/D4705

13 months agoUse /usr/bin/env to get perl path instead of using a hardcoded path.
klebinger.andreas@gmx.at [Sat, 16 Jun 2018 16:31:09 +0000 (12:31 -0400)] 
Use /usr/bin/env to get perl path instead of using a hardcoded path.

Summary: This makes it easier to run nofib using nix.

Test Plan: Using it.

Reviewers: O26 nofib, bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D4756

14 months agoUpdate Simon-nofib-notes
Simon Peyton Jones [Fri, 4 May 2018 09:41:31 +0000 (10:41 +0100)] 
Update Simon-nofib-notes

17 months agoRecognize shells reporting as MINGW under windows.
klebinger.andreas@gmx.at [Thu, 8 Feb 2018 00:09:55 +0000 (00:09 +0000)] 
Recognize shells reporting as MINGW under windows.

Summary:
My msys instance at least reports MINGW instead of MSYS for uname.
This commit adjusts the regex to match either one.

Without this some errors occur because of missing .exe extensions in
file names.

This fixes #14654

Test Plan: make

Reviewers: O26 nofib, Phyx, bgamari

Reviewed By: Phyx, bgamari

Subscribers: bgamari, Phyx

GHC Trac Issues: #14654

Differential Revision: https://phabricator.haskell.org/D4297

18 months agoFix fannkuch-redux for GHC<=8.2
Ömer Sinan Ağacan [Wed, 17 Jan 2018 11:39:10 +0000 (14:39 +0300)] 
Fix fannkuch-redux for GHC<=8.2

Reviewers: O26 nofib

Differential Revision: https://phabricator.haskell.org/D4320

18 months agoadd missing import
Gabor Greif [Thu, 28 Dec 2017 15:11:40 +0000 (16:11 +0100)] 
add missing import

21 months agoAdd digits-of-e2.faststdout
Joachim Breitner [Mon, 23 Oct 2017 04:57:15 +0000 (00:57 -0400)] 
Add digits-of-e2.faststdout

21 months agoAdd digits-of-e1.faststdout
Joachim Breitner [Mon, 23 Oct 2017 03:44:25 +0000 (23:44 -0400)] 
Add digits-of-e1.faststdout

21 months agoNotes: Link to #8611 (cacheprof nondeterministic)
Joachim Breitner [Sun, 22 Oct 2017 03:24:37 +0000 (23:24 -0400)] 
Notes: Link to #8611 (cacheprof nondeterministic)

21 months agofasta: Inline function needs to be static
Joachim Breitner [Sun, 22 Oct 2017 03:20:56 +0000 (23:20 -0400)] 
fasta: Inline function needs to be static

if I read http://gcc.gnu.org/onlinedocs/gcc/Inline.html correctly.

Also, clean generated files.

22 months agofannkuch-redux: Implement Semigroup along with Monoid
Joachim Breitner [Thu, 14 Sep 2017 20:41:58 +0000 (16:41 -0400)] 
fannkuch-redux: Implement Semigroup along with Monoid

so that it builds with GHC-8.3 post 8ae263c.

23 months agoCatch a few typos
Gabor Greif [Wed, 23 Aug 2017 10:03:17 +0000 (12:03 +0200)] 
Catch a few typos

23 months agoNote on cacheprof
Simon Peyton Jones [Tue, 22 Aug 2017 09:31:31 +0000 (10:31 +0100)] 
Note on cacheprof

23 months agoMore additions to Simon-nofib-notes
Simon Peyton Jones [Mon, 21 Jul 2014 15:49:33 +0000 (16:49 +0100)] 
More additions to Simon-nofib-notes

23 months agoAdd to notes
Simon Peyton Jones [Fri, 22 Nov 2013 18:02:17 +0000 (18:02 +0000)] 
Add to notes

23 months agoFix CRLF handling in NoFib
Ben Gamari [Tue, 15 Aug 2017 00:48:53 +0000 (20:48 -0400)] 
Fix CRLF handling in NoFib

See https://phabricator.haskell.org/D3030#98590.

The current master uses the diff alias for comparison, which pollutes
stdout. I fixed the tr -d '\r' calls that previously were in place, but
broken due to escaping. I also did the same for golden master generation
in shootout Makefiles.

Test Plan:

```
make clean && \
make NoFibRuns=1 2>&1 > nofib.log && \
nofib-analyse/nofib-analyse nofib.log
```

Differential Revision: https://phabricator.haskell.org/D3450

23 months agoDon't use uname -o
Ben Gamari [Tue, 15 Aug 2017 00:45:40 +0000 (20:45 -0400)] 
Don't use uname -o

Summary:
It's not required by the POSIX specification and OS X doesn't support
it; instead use uname -s.

Test Plan: V

Reviewers: O26 nofib, michalt, mpickering

Reviewed By: O26 nofib, michalt, mpickering

Subscribers: mpickering

GHC Trac Issues: #13711

Differential Revision: https://phabricator.haskell.org/D3594

23 months agoAdd State monad benchmarks by Andras Kovacs
Matthew Pickering [Tue, 15 Aug 2017 00:45:33 +0000 (20:45 -0400)] 
Add State monad benchmarks by Andras Kovacs

Summary:
They are originally from
https://github.com/AndrasKovacs/misc-stuff/blob/master/haskell/Eff/EffBench.hs

They show interesting interactions with call arity, spec constr and SAT.

Reviewers: O26 nofib, michalt, simonpj, bgamari

Reviewed By: bgamari

Subscribers: RyanGlScott

GHC Trac Issues: #13892

Differential Revision: https://phabricator.haskell.org/D3683

23 months agogray: AMP compatibility
Ben Gamari [Tue, 15 Aug 2017 00:45:14 +0000 (20:45 -0400)] 
gray: AMP compatibility

Reviewers: O26 nofib, michalt

Reviewed By: O26 nofib, michalt

Subscribers: michalt

Differential Revision: https://phabricator.haskell.org/D3730

2 years agoSimplify some shootout Makefiles
Michal Terepeta [Wed, 7 Jun 2017 18:54:34 +0000 (14:54 -0400)] 
Simplify some shootout Makefiles

Summary:
By following the naming conventions of the build system we can
simplify the `Makefile`s a bit.  This patch also avoids having to
explicitly pass the flags to `runstdtest` for `fasta`, `k-nucleotide`
and `reverse-complement`.  The only consquence of this is that it's a
requirement to run `make boot` before `make` for these benchmarks. But
that is already the case since `.depend` files are generated by with
`make boot`.

Finally, this also update the `.gitignore` with the new names of
the output/input files.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: build & run

Reviewers: bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D3412

2 years agoMerge remote-tracking branch 'michalt/fibon' into HEAD
Ben Gamari [Wed, 7 Jun 2017 18:53:53 +0000 (14:53 -0400)] 
Merge remote-tracking branch 'michalt/fibon' into HEAD

2 years agoCreate runtime_files directory for some benchmarks
Michal Terepeta [Thu, 4 May 2017 12:47:03 +0000 (08:47 -0400)] 
Create runtime_files directory for some benchmarks

Summary:
This creates `runtime_files` subdirectory for benchmarks that need
some files at runtime. This make it clear what files are actually
needed to run the benchmarks and makes it much easier to support
building/running them out of separate build directory.

This affects the following benchmarks:
- real/anna
- real/cacheprof
- real/fluid
- real/hidden
- real/maillist
- real/prolog
- real/scs
- spectral/expert
- spectral/mate
- spectral/para
- spectral/treejoin

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: build & run

Reviewers: bgamari

Reviewed By: bgamari

Subscribers: snowleopard

Differential Revision: https://phabricator.haskell.org/D3411

2 years agospectral/mate: remove unnecessary HS_SRCS
Michal Terepeta [Thu, 4 May 2017 12:46:54 +0000 (08:46 -0400)] 
spectral/mate: remove unnecessary HS_SRCS

I've mistakenly added it as a workaround to build problems, but the
whole problem was only due a missing `.depend` file (which is created
by `make boot` and interestigly is not cleaned by `make clean`). In
any way, the `HS_SRCS` is simply unnecessary and can be removed.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: build & run

Reviewers: bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D3389

2 years agospectral/sphere: simplify Makefile
Michal Terepeta [Thu, 4 May 2017 12:46:43 +0000 (08:46 -0400)] 
spectral/sphere: simplify Makefile

By simply renaming the expected output files to follow the usual
conventions, we can simplify the `Makefile` a bit.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: build & run

Reviewers: bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D3366

2 years agospectral: enable exact-reals
Michal Terepeta [Thu, 4 May 2017 12:46:35 +0000 (08:46 -0400)] 
spectral: enable exact-reals

The benchmark only needed a small update to the expected stdandard
output file (missing newline).

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: build & run

Reviewers: dfeuer, bgamari

Reviewed By: dfeuer

Differential Revision: https://phabricator.haskell.org/D3363

2 years agoreal/Makefile: remove OTHER_SUBDIRS
Michal Terepeta [Wed, 15 Mar 2017 21:48:21 +0000 (17:48 -0400)] 
real/Makefile: remove OTHER_SUBDIRS

Summary:
This removes the unnecessary `OTHER_SUBDIRS` variable, since the
subdirectories mentioned there are already in `SUBDIRS` (the
benchmarks have been enabled in previous commits).

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: build & run

Reviewers: bgamari, dfeuer

Reviewed By: dfeuer

Differential Revision: https://phabricator.haskell.org/D3342

2 years agofibheaps/Makefile: remove some weird character
Michal Terepeta [Wed, 15 Mar 2017 21:48:15 +0000 (17:48 -0400)] 
fibheaps/Makefile: remove some weird character

Summary:
Because it's at the beginning of the line with `SRC_HC_OPTS`, it
causes `make` ignore those options. This commit removes that character
and makes everything work.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: manually verify that the options are passed to GHC

Reviewers: bgamari, dfeuer

Reviewed By: dfeuer

Subscribers: dfeuer

Differential Revision: https://phabricator.haskell.org/D3344

2 years agospectral: temporarily disable secretary
Michal Terepeta [Wed, 15 Mar 2017 21:47:15 +0000 (17:47 -0400)] 
spectral: temporarily disable secretary

Summary:
Unfortunately `secretary` requires `random` package to compile and
this broke perf.haskell.org. Let's disable the benchmark for now until
we have a good story for dealing with benchmarks that require
packages.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: build & run

Reviewers: bgamari, nomeata

Reviewed By: nomeata

Differential Revision: https://phabricator.haskell.org/D3347

2 years agoRemove fibon
Michal Terepeta [Sun, 12 Feb 2017 11:42:02 +0000 (12:42 +0100)] 
Remove fibon

Summary:
It doesn't compile, nobody is running it and upstream seems to have
abandoned it too. IMHO, at this point we should simply remove it and
focus on improving the benchmarks that do work & adding new ones.

See also the discussion in #11501

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: compile & run nofib

Reviewers: bgamari

Subscribers:

2 years agospectral: remove triangle
Michal Terepeta [Mon, 13 Mar 2017 22:39:24 +0000 (18:39 -0400)] 
spectral: remove triangle

The benchmark hasn't been enabled and doesn't compile. Fixing it is
easy, but it runs very quickly with the default parameter `5` (takes
~0.04s). When I bumped the parameter to `6`, it didn't finish within
~90s CPU time (and 5GiB of RAM).

So it seems unlikely to be useful - let's just remove it.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: run nofib

Reviewers: dfeuer, bgamari

Reviewed By: bgamari

Subscribers: dfeuer

Differential Revision: https://phabricator.haskell.org/D3085

2 years agospectral: remove compreals
Michal Terepeta [Mon, 13 Mar 2017 22:37:14 +0000 (18:37 -0400)] 
spectral: remove compreals

It's been disabled for a long time and there's no input to actually
run it.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: build & run

Reviewers: bgamari

Differential Revision: https://phabricator.haskell.org/D3330

2 years agoreal: remove PolyGP
Michal Terepeta [Mon, 13 Mar 2017 22:36:32 +0000 (18:36 -0400)] 
real: remove PolyGP

The benchmark doesn't compile and was not enabled. I tried fixing it,
but it seems to take excessive amount of time & memory (didn't finish
in 60s, which required over 10GiB of RAM). Sounds like another
candidate for removal.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: build & run

Reviewers: bgamari

Differential Revision: https://phabricator.haskell.org/D3329

2 years agospectral: fix secretary
Michal Terepeta [Mon, 13 Mar 2017 22:35:46 +0000 (18:35 -0400)] 
spectral: fix secretary

This should fix the benchmark by:
- Not importing `IOExts`.
- Using `randomRs` with a predictable seed instead of `randomRIOs` to
  make the runs reproducible (the latter is using global RNG).
- Bumping one of the parameter to make it run for a bit longer (2s
  instead of 0.4s).

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: build & run

Reviewers: bgamari

Differential Revision: https://phabricator.haskell.org/D3328

2 years agospectral: remove salishan
Michal Terepeta [Mon, 13 Mar 2017 22:34:44 +0000 (18:34 -0400)] 
spectral: remove salishan

There's no Haskell code in `spectral/salishan`, so let's just remove it.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: build & run

Reviewers: bgamari

Subscribers: snowleopard

Differential Revision: https://phabricator.haskell.org/D3321

2 years agofibheaps: Ensure we link against array
Ben Gamari [Mon, 13 Mar 2017 22:34:35 +0000 (18:34 -0400)] 
fibheaps: Ensure we link against array

Summary:
I'm not sure how this worked previously, but we clearly need to link
against array here.

Test Plan: Build it

Reviewers: michalt, O26 nofib

Reviewed By: michalt, O26 nofib

Differential Revision: https://phabricator.haskell.org/D3295

2 years agospectral: enable mate
Michal Terepeta [Mon, 13 Mar 2017 22:34:12 +0000 (18:34 -0400)] 
spectral: enable mate

Summary:
This also adds the `mate.stdout` file with the expected result.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: compile & run nofib

Reviewers: bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D3161

2 years agoreal: remove `rx`
Michal Terepeta [Mon, 13 Mar 2017 22:33:19 +0000 (18:33 -0400)] 
real: remove `rx`

The benchmark doesn't compile, but even when fixed, it doesn't seem
very useful - it runs in mere ~100ms and there aren't easy knobs to
make it run for longer. Considering that this hasn't been used for
some time, it seems ok to simply remove it.

Also, removing it will make the initial version of Shake-based build
system easier.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: compile & run nofib

Reviewers: goldfire, bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D3159

2 years agoreal: enable linear
Michal Terepeta [Mon, 13 Mar 2017 22:31:50 +0000 (18:31 -0400)] 
real: enable linear

This also tweaks a parameter in the benchmark so that it takes a
reasonable amount of time to run ( ~1.1s on my machine) and adds
the `.stdout` file. The `Makefile` required some tweaking to make sure
that the modules are compiled in the right order.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: compile & run nofib

Reviewers: bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D3157

2 years agoreal/Makefile: remove the mention of ebnf2ps
Michal Terepeta [Mon, 13 Mar 2017 22:31:44 +0000 (18:31 -0400)] 
real/Makefile: remove the mention of ebnf2ps

Summary:
The ebnf2ps benchmark has been removed. It's mentioned in the
`Makefile` due to how git merged multiple commits touching the file.
This commit removes it.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: compile & run nofib

Reviewers: bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D3156

2 years agoSimon’s notes: Refer mailing list about binary-tree
Joachim Breitner [Thu, 9 Mar 2017 15:59:38 +0000 (16:59 +0100)] 
Simon’s notes: Refer mailing list about binary-tree

2 years agoreal: remove HMMS
Michal Terepeta [Tue, 14 Feb 2017 22:02:17 +0000 (17:02 -0500)] 
real: remove HMMS

Summary:
It doesn't compile and I didn't see any easy way to fix it (I got
stuck at `import Native`, which, according to a comment, comes from
`hbc`). According to another comment,  there were other problems with
the test even when it did compile:
  "HMMS test only works on SPARC machines"

In any case, this has been broken for a while so I don't think anyone
will miss it.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: run nofib

Reviewers: erikd, bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D3088

2 years agoreal: remove ebnf2ps
Michal Terepeta [Tue, 14 Feb 2017 22:01:52 +0000 (17:01 -0500)] 
real: remove ebnf2ps

Summary:
The benchmark doesn't compile and even after fixing, it runs in about
0.006s. The compile time is super fast as well (tiny modules).  So it
seems like another candidate for removal.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: run nofib

Reviewers: goldfire, bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D3087

2 years agospectral: revive lambda
Michal Terepeta [Tue, 14 Feb 2017 22:00:14 +0000 (17:00 -0500)] 
spectral: revive lambda

Summary:
Instead of using the hand rolled monads, this now uses monads from
`transformers` (shouldn't complicate running the benchmark, since it's
a boot library).

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: run nofib

Reviewers: bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D3079

2 years agoimaginary: re-enable digits-of-e{1,2}
Michal Terepeta [Tue, 14 Feb 2017 22:00:11 +0000 (17:00 -0500)] 
imaginary: re-enable digits-of-e{1,2}

Summary:
These still compile and are quick to run so we might as well enable them.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: run nofib

Reviewers: bgamari

Reviewed By: bgamari

Subscribers: bgamari

Differential Revision: https://phabricator.haskell.org/D3078

2 years agospectral: revive last-piece
Michal Terepeta [Tue, 14 Feb 2017 22:00:06 +0000 (17:00 -0500)] 
spectral: revive last-piece

Summary:
I'm not entirely sure if the benchmark is worth reviving, but
it was quite easy and we can always remove it later.

This also removed the unused PROG_ARGS from the Makefile.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: compile & run

Reviewers: bgamari

Reviewed By: bgamari

Differential Revision: https://phabricator.haskell.org/D3042

2 years agonucleic2: removed unused files & simplify Makefile
Michal Terepeta [Tue, 14 Feb 2017 22:00:02 +0000 (17:00 -0500)] 
nucleic2: removed unused files & simplify Makefile

Summary:
This commit does a few small cleanups:
- Remove the unused files (implementations in C, SML, etc.).
- Move the paper to a new `paper` subdirectory.
- Remove unnecessary things from the Makefile.

The last one will make it easier to move to a Shake-based build
system.

Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
Test Plan: compile & run nofib

Reviewers: bgamari

Reviewed By: bgamari

Subscribers: dfeuer

Differential Revision: https://phabricator.haskell.org/D3041

2 years agoFix nofib benchmarks on Windows.
Tamar Christina [Tue, 14 Feb 2017 21:59:57 +0000 (16:59 -0500)] 
Fix nofib benchmarks on Windows.

Summary:
This allows nofib to run on Windows using `msys`.

Also deprecates the old `cygwin` stuff.

Test Plan: make clean && make

Reviewers: bgamari

Reviewed By: bgamari

Subscribers: RyanGlScott, #ghc_windows_task_force

Differential Revision: https://phabricator.haskell.org/D3030

2 years agoAdd .arcconfig file to allow patches by phabricator
Matthew Pickering [Thu, 26 Jan 2017 16:02:31 +0000 (11:02 -0500)] 
Add .arcconfig file to allow patches by phabricator

Reviewers: RyanGlScott, bgamari

Reviewed By: RyanGlScott, bgamari

Differential Revision: https://phabricator.haskell.org/D2945

2 years agoRemove DEFAULT_TMPDIR
Ben Gamari [Mon, 29 Aug 2016 22:09:10 +0000 (18:09 -0400)] 
Remove DEFAULT_TMPDIR

The logic for this was ripped out of GHC quite some time ago.

2 years agoFix parsing cachegrind output.
Peter Trommler [Sat, 13 Aug 2016 11:17:09 +0000 (13:17 +0200)] 
Fix parsing cachegrind output.

On architectures with more than two levels of cache cachegrind
reports the last level data cache miss rate as `LLd` and not `L2d`.
This changes the regular expression to work in both cases.

3 years agoFix: #12084 deprecate old profiling flags
Seraphime Kirkovski [Sun, 22 May 2016 15:47:26 +0000 (17:47 +0200)] 
Fix: #12084 deprecate old profiling flags

3 years agoDe-tab CmdLine.hs
Joachim Breitner [Thu, 28 Apr 2016 11:01:27 +0000 (13:01 +0200)] 
De-tab CmdLine.hs

3 years agoAllow per module stats to be listed as columns in the summary table.
Joachim Breitner [Fri, 23 Oct 2015 09:49:05 +0000 (11:49 +0200)] 
Allow per module stats to be listed as columns in the summary table.

3 years agoResult class: Provide a way to sum results
Joachim Breitner [Fri, 23 Oct 2015 09:11:08 +0000 (11:11 +0200)] 
Result class: Provide a way to sum results

3 years agoIntroduce a short name for per-module stats as well
Joachim Breitner [Fri, 23 Oct 2015 09:01:24 +0000 (11:01 +0200)] 
Introduce a short name for per-module stats as well

3 years ago--latex: Support per-module tables as well
Joachim Breitner [Fri, 23 Oct 2015 08:40:03 +0000 (10:40 +0200)] 
--latex: Support per-module tables as well

3 years ago--csv: Support per-module tables as well
Joachim Breitner [Fri, 23 Oct 2015 08:13:25 +0000 (10:13 +0200)] 
--csv: Support per-module tables as well

3 years agoAdd a new GHC status line pattern
Joachim Breitner [Mon, 5 Oct 2015 09:13:02 +0000 (11:13 +0200)] 
Add a new GHC status line pattern

for when a recent version of the runtime is used together with
cachegrind.

3 years agoRevert "Expected output of mandel when run under valgrind"
Joachim Breitner [Fri, 2 Oct 2015 11:19:18 +0000 (13:19 +0200)] 
Revert "Expected output of mandel when run under valgrind"

This reverts commit 6480538c4665ad8f3863b1587bf83689dec25422.

The problem was that by setting SRC_RUNTEST_OPTS=-cachegrind, the
setting SRC_RUNTEST_OPTS += -stdout-binary in mandel/Makefile was
overridden, and the binary output was mangled.

The proper thing to do is to enable cachegrind using
EXTRA_RUNTEST_OPTS=-cachegrind. I have updated
https://ghc.haskell.org/trac/ghc/wiki/Building/RunningNoFib
accordingly.

3 years agoExpected output of mandel when run under valgrind
Joachim Breitner [Fri, 2 Oct 2015 08:09:17 +0000 (10:09 +0200)] 
Expected output of mandel when run under valgrind

probably due to rounding/floating point precision numbers. It looks
broken, but so does the existing file spectral/mandel/mandel.stdout-mingw.

3 years agoTypos in comments
Gabor Greif [Thu, 30 Jul 2015 22:43:38 +0000 (00:43 +0200)] 
Typos in comments

4 years agoAdd exact-real-arithmetic benchmark from David Lester
Simon Peyton Jones [Fri, 24 Apr 2015 14:10:02 +0000 (15:10 +0100)] 
Add exact-real-arithmetic benchmark from David Lester

4 years agoUpdate output (random changes?)
Simon Marlow [Wed, 28 Jan 2015 11:30:00 +0000 (11:30 +0000)] 
Update output (random changes?)

4 years agoRemove HTML generation from nofib-analyse, dropping 'html' dependency.
Edward Z. Yang [Fri, 2 Jan 2015 19:27:30 +0000 (14:27 -0500)] 
Remove HTML generation from nofib-analyse, dropping 'html' dependency.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
4 years agoUnbreak cryptarithm2: Pass -package transformers
Joachim Breitner [Tue, 30 Dec 2014 11:48:29 +0000 (12:48 +0100)] 
Unbreak cryptarithm2: Pass -package transformers

4 years agoAdd type-signature in spectral/para to help type-inf
Herbert Valerio Riedel [Mon, 29 Sep 2014 10:37:26 +0000 (12:37 +0200)] 
Add type-signature in spectral/para to help type-inf

This testcase broke due to the generalised `Data.Foldable.length`

4 years agoAdapt `nofib` code to Foldable-generalised Prelude
Herbert Valerio Riedel [Tue, 23 Sep 2014 21:41:37 +0000 (23:41 +0200)] 
Adapt `nofib` code to Foldable-generalised Prelude

4 years agoUpdate gitignore with more generated files.
Edward Z. Yang [Wed, 10 Sep 2014 16:09:54 +0000 (09:09 -0700)] 
Update gitignore with more generated files.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
4 years agoFix bitrotted gc nofib code.
Edward Z. Yang [Wed, 10 Sep 2014 02:37:39 +0000 (19:37 -0700)] 
Fix bitrotted gc nofib code.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
4 years agoHave cryptarithm2 use transformers, fixes AMP errors.
Edward Z. Yang [Tue, 9 Sep 2014 22:27:36 +0000 (15:27 -0700)] 
Have cryptarithm2 use transformers, fixes AMP errors.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
4 years agoFix conflict with newly exported 'empty' from Prelude.
Edward Z. Yang [Tue, 9 Sep 2014 20:43:36 +0000 (13:43 -0700)] 
Fix conflict with newly exported 'empty' from Prelude.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
4 years agoHide Word from Prelude
Joachim Breitner [Tue, 2 Sep 2014 15:53:52 +0000 (17:53 +0200)] 
Hide Word from Prelude

in benchmarks where Word is used. This fixes fall-out from #9531.

4 years agoSupport higher timing precision in output parser
Herbert Valerio Riedel [Mon, 28 Jul 2014 07:54:41 +0000 (09:54 +0200)] 
Support higher timing precision in output parser

...and increase reported precision in nofib-analyse from `%.2f` to `%.3f`
(i.e. from 10ms to 1ms granularity). See also D97.

5 years agoAdd FlexibleContexts to two nofib benchmarks
Simon Peyton Jones [Thu, 24 Apr 2014 07:34:41 +0000 (08:34 +0100)] 
Add FlexibleContexts to two nofib benchmarks

Turns out that these two have a local function with a
(MArray (STUArray s) Double m) context, or something like that.
The real issue here is that we don't yet know what 'm' is.
A better solution would be MonoMonoBinds, but that would threaten
perf comparison with older GHC's

5 years agoRemove nofib/real/HMMS/lib/haskell/Builtin.hi
Simon Peyton Jones [Thu, 6 Mar 2014 13:21:35 +0000 (13:21 +0000)] 
Remove nofib/real/HMMS/lib/haskell/Builtin.hi
which is presumably there by mistake

5 years agonofib-analyize: Include % in LaTeX output
Joachim Breitner [Sat, 15 Mar 2014 15:36:14 +0000 (16:36 +0100)] 
nofib-analyize: Include % in LaTeX output

I see no reason why this should be different from the text output,
especially as it is important to distinguish absolute from relative
values in the runtime column. It is also easier to remove the % (using
search-and-replace) than to add it.

5 years agonofib-analyse: Support comparing multiple runs in the summary table
Joachim Breitner [Fri, 14 Mar 2014 22:09:31 +0000 (23:09 +0100)] 
nofib-analyse: Support comparing multiple runs in the summary table

and adjust the table layout to have at least one space padding, even
with long input file names.

5 years agoPrint no change as 0.0%
Joachim Breitner [Wed, 29 Jan 2014 16:10:28 +0000 (17:10 +0100)] 
Print no change as 0.0%

not as +0.0%. Makes the real increases much easier to spot.

5 years agoTypo in comment ghc-7.8 ghc-7.8.1-release ghc-7.8.2-release
Gabor Greif [Fri, 10 Jan 2014 18:30:27 +0000 (19:30 +0100)] 
Typo in comment

5 years agofix some typos
Gabor Greif [Fri, 10 Jan 2014 11:02:06 +0000 (12:02 +0100)] 
fix some typos

5 years agoAdd Linux/x86 reference output for `kahan` benchmark
Herbert Valerio Riedel [Mon, 6 Jan 2014 14:35:03 +0000 (15:35 +0100)] 
Add Linux/x86 reference output for `kahan` benchmark

This makes the nofib testsuite pass again when run on Linux/x86.
See #7462 for more details

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoteach nofib-analyse: discover compile time heap allocation info.
Muhaimin Ahsan [Sat, 5 Oct 2013 07:11:23 +0000 (02:11 -0500)] 
teach nofib-analyse: discover compile time heap allocation info.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoRemove deprecated _scc_ (#8170)
Krzysztof Gogolewski [Tue, 3 Sep 2013 19:23:09 +0000 (21:23 +0200)] 
Remove deprecated _scc_ (#8170)