8.2 and earlier build times

I did a build time test with hackage.haskell.org/package/bloodhound today. I tested 8.2 (RC), 8.0, 7.10, and 7.8. I used Bloodhound in part because it has very few but very large modules which is sort of a pathological case for GHC right now. I first built the deps and library with each compilers and then reran the build once or twice until the results stabilized. The build re-built the V5/Types module and the examples depending on that module. I triggered a build by adding/removing newline characters in the V5/Types module. I've pushed the build targets / stack.yamls to the git repository: https://github.com/bitemyapp/bloodhound Here are the results: 8.2 build: 126.37s user 2.26s system 101% cpu 2:07.16 total 8.0 build: 147.44s user 2.24s system 100% cpu 2:28.93 total 7.10 build: 163.38s user 2.14s system 100% cpu 2:44.64 total 7.8 build: 129.12s user 2.30s system 101% cpu 2:10.09 total Please let me know if you have any questions. -- Chris Allen Currently working on http://haskellbook.com

Very interesting, that would suggest there is some improvement in build
times.
I want to test out compile times with each of those compilers on our
pathological worst case dependency amazonka (
https://github.com/brendanhay/amazonka)
and a library we've built on top of it mismi (
https://github.com/ambiata/mismi) today. The code in both have a lot of
derivings for data types which seems to be one of the slowest parts.
I'm not that conversant with stack as a tool but were these compile times
with optimisations on / off?
On Wed, May 17, 2017 at 4:08 AM, Christopher Allen
I did a build time test with hackage.haskell.org/package/bloodhound today.
I tested 8.2 (RC), 8.0, 7.10, and 7.8. I used Bloodhound in part because it has very few but very large modules which is sort of a pathological case for GHC right now.
I first built the deps and library with each compilers and then reran the build once or twice until the results stabilized. The build re-built the V5/Types module and the examples depending on that module. I triggered a build by adding/removing newline characters in the V5/Types module.
I've pushed the build targets / stack.yamls to the git repository: https://github.com/bitemyapp/bloodhound
Here are the results:
8.2 build: 126.37s user 2.26s system 101% cpu 2:07.16 total
8.0 build: 147.44s user 2.24s system 100% cpu 2:28.93 total
7.10 build: 163.38s user 2.14s system 100% cpu 2:44.64 total
7.8 build: 129.12s user 2.30s system 101% cpu 2:10.09 total
Please let me know if you have any questions.
-- Chris Allen Currently working on http://haskellbook.com _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

That's great news! Faster than GHC 7.8! We should advertise this :-). Simon | -----Original Message----- | From: ghc-devs [mailto:ghc-devs-bounces@haskell.org] On Behalf Of | Christopher Allen | Sent: 16 May 2017 19:09 | To: ghc-devs@haskell.org | Subject: 8.2 and earlier build times | | I did a build time test with hackage.haskell.org/package/bloodhound | today. | | I tested 8.2 (RC), 8.0, 7.10, and 7.8. I used Bloodhound in part | because it has very few but very large modules which is sort of a | pathological case for GHC right now. | | I first built the deps and library with each compilers and then reran | the build once or twice until the results stabilized. The build re- | built the V5/Types module and the examples depending on that module. I | triggered a build by adding/removing newline characters in the | V5/Types module. | | I've pushed the build targets / stack.yamls to the git repository: | https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithu | b.com%2Fbitemyapp%2Fbloodhound&data=02%7C01%7Csimonpj%40microsoft.com% | 7Cc4d32126857a47dd4dd008d49c86aa7c%7C72f988bf86f141af91ab2d7cd011db47% | 7C1%7C0%7C636305549597208612&sdata=kcqWLIARzF8xwaYwZgJ6vOkex1%2FtD53cB | %2BJlYcdnq2o%3D&reserved=0 | | | Here are the results: | | | 8.2 build: | 126.37s user 2.26s system 101% cpu 2:07.16 total | | 8.0 build: | 147.44s user 2.24s system 100% cpu 2:28.93 total | | 7.10 build: | 163.38s user 2.14s system 100% cpu 2:44.64 total | | 7.8 build: | 129.12s user 2.30s system 101% cpu 2:10.09 total | | | Please let me know if you have any questions. | | -- | Chris Allen | Currently working on | https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fhaskel | lbook.com&data=02%7C01%7Csimonpj%40microsoft.com%7Cc4d32126857a47dd4dd | 008d49c86aa7c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63630554959 | 7208612&sdata=vVpn%2FeGOPMspkvoj9SRl2nvc1CIpE0lZbnXYhyTu%2B9Y%3D&reser | ved=0 | _______________________________________________ | ghc-devs mailing list | ghc-devs@haskell.org | https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.h | askell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc- | devs&data=02%7C01%7Csimonpj%40microsoft.com%7Cc4d32126857a47dd4dd008d4 | 9c86aa7c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6363055495972086 | 12&sdata=G7cskVvK6Gp7mGLxGbSFPHm4MAQqav69A8PftobVsLE%3D&reserved=0

On Wed, May 17, 2017 at 10:56 AM, Simon Peyton Jones via ghc-devs
That's great news! Faster than GHC 7.8! We should advertise this :-).
However, not everything is back to 7.8 levels when looking at the
time-dimension, e.g. for regex-tdfa-1.2.2 (with reasonably similar
versions of dependencies):
GHC 7.8.4:
<

Herbert Valerio Riedel
On Wed, May 17, 2017 at 10:56 AM, Simon Peyton Jones via ghc-devs
wrote: That's great news! Faster than GHC 7.8! We should advertise this :-).
However, not everything is back to 7.8 levels when looking at the time-dimension, e.g. for regex-tdfa-1.2.2 (with reasonably similar versions of dependencies):
Interesting. I tried comparing build times of regex-tdfa-1.1.8 with GHC
8.0.2 and 8.2.1, yet was unable to reproduce this. Rather 8.2 was
significantly faster than 8.0.2 (although not in the profiled build, it
seems),
8.0.2:
real 2m4.403s
user 0m2.233s
sys 4m49.319s
normal build: <

Ben Gamari
The "normal" and "profiled" build metrics are the +RTS -t lines extract from Cabal's profiled and unprofiled GHC invocations. I believe the RTS timings for 8.0.2 are broken due to a (fixed) RTS bug, although I can't come up with a reference at the moment.
I tried this again with regex-tdfa-1.2.2 and indeed I was able to
reproduce Herbert's result,
8.0.2
normal: <

| We'll need to look at what is going on here as this is a pretty
| significant regression.
Make a ticket with repro instructions?
s
| -----Original Message-----
| From: Ben Gamari [mailto:ben@smart-cactus.org]
| Sent: 20 May 2017 18:20
| To: Herbert Valerio Riedel

Simon Peyton Jones
| We'll need to look at what is going on here as this is a pretty | significant regression.
Make a ticket with repro instructions?
participants (5)
-
Ben Gamari
-
Christopher Allen
-
Herbert Valerio Riedel
-
Simon Peyton Jones
-
Tim McGilchrist