Derive the Generic instance in perf/compiler/T5642
authorRyan Scott <ryan.gl.scott@gmail.com>
Mon, 5 Sep 2016 19:45:38 +0000 (15:45 -0400)
committerRyan Scott <ryan.gl.scott@gmail.com>
Mon, 5 Sep 2016 19:45:40 +0000 (15:45 -0400)
commit34010dbe77ac405da6c671c3feb3573d0d025379
treec748001a49caf34150a108d8948c8be092cfc49c
parent4ff4929cbaab21a3ca867abbc1bd24ff3287a16f
Derive the Generic instance in perf/compiler/T5642

Summary:
For some inexplicable reason, the `Generic` instance in
`perf/compiler/T5642` is written out entirely by hand. This is not only
strange, since Trac #5642 is about derived `Generic` instances, but it also
annoying to maintain, since it requires manually changing a bunch of code
whenever the algorithm behind `deriving Generic` changes. (See D2304 for a
recent example of this.)

It seems more sensible to just derive the `Generic` instance. It shifts the
goalposts of what allocations we're measuring a bit, since we no longer have
to parse a large amount of code (and as a knock-on effect, the allocations go
down a bit). But I think this program is morally equivalent to what we were
benchmarking before, so it's not too unreasonable to change.

Test Plan: make test TEST=T5642

Reviewers: austin, thomie, bgamari

Reviewed By: bgamari

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

GHC Trac Issues: #5642
testsuite/tests/perf/compiler/T5642.hs
testsuite/tests/perf/compiler/all.T