Better perf for haddock.base, haddock.Cabal (f4aa998)
Simon Peyton Jones
simonpj at microsoft.com
Thu Feb 16 23:33:23 UTC 2017
| clearly points to this commit:
|
| commit fc9d152b058f21ab03986ea722d0c94688b9969f
| Author: Simon Peyton Jones < simonpj at microsoft.com >
| Date: Thu Feb 16 09:41:55 2017 +0000
|
| Comments and tiny refactor only
Crumbs! You are right!
I have NO IDEA why this effect is so large. I fixed the bug in occAnalApp
when I was auditing your changes, but I couldn't think of a situation in which
I would matter, and then I forgot all about it.
It's hard to add a comment.... both the call to mkOneOcc and isExpandableApp were designed for the number of args the function is *syntactically* applied to. But the argOneShots needs how many it is *semantically* applied to, once.
But is_exp only matters if isRhsEnv is true; and in that case I think occ_one_shots is empty (see rhsCtxt); so I doubt the change to is_exp makes any difference at all.
It's a mystery. Ideally one would find out why. But life is short, and this is in the right direction.
I've added a note to the ticket, FWIW
Simon
| -----Original Message-----
| From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Joachim
| Breitner
| Sent: 16 February 2017 20:41
| To: ghc-devs at haskell.org
| Subject: Re: Better perf for haddock.base, haddock.Cabal (f4aa998)
|
| Hi,
|
| Am Donnerstag, den 16.02.2017, 17:46 +0000 schrieb git at git.haskell.org:
| > commit f4aa9984790332a908e8b1321d00a839fb42c3ea
| > Author: Simon Peyton Jones <simonpj at microsoft.com>
| > Date: Thu Feb 16 17:44:58 2017 +0000
| >
| > Better perf for haddock.base, haddock.Cabal
| >
| > I think this is due to
| > commit 6bab649bde653f13c15eba30d5007bef4a9a9d3a
| > Author: Simon Peyton Jones <simonpj at microsoft.com>
| > Date: Thu Feb 16 09:42:32 2017 +0000
| >
| > Improve checking of joins in Core Lint
| >
| > Improvement is around 5%.
|
| no,
| https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fperf.has
| kell.org%2Fghc%2F%23revision%2Ffc9d152b058f21ab03986ea722d0c94688b9969f&d
| ata=02%7C01%7Csimonpj%40microsoft.com%7Caacdd3c960ea4e56ea6c08d456ac2c5d%
| 7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636228744888337816&sdata=vZW
| XXwyBzBcUMliVMtS9vUFmlQuBXOhciC9uzSm7aW0%3D&reserved=0
| clearly points to this commit:
|
| commit fc9d152b058f21ab03986ea722d0c94688b9969f
| Author: Simon Peyton Jones < simonpj at microsoft.com >
| Date: Thu Feb 16 09:41:55 2017 +0000
|
| Comments and tiny refactor only
|
| Which is not just a refactoring. If you look at the diff, e.g. at
|
| https://phabricator.haskell.org/rGHCfc9d152b058f21ab03986ea722d0c94688b99
| 69f
| you will see that after your change, the “one shot arguments according to
| the environment” are no longer counted towards n_val_args in fun_uds and
| is_exp. And it seems they should not! Is that something you understand
| and can explain in a note?
|
| I guess https://phabricator.haskell.org/D3089 was merged a bit
| prematurely in that respect.¹
|
| Greetings,
| Joachim
|
|
| ¹ There is a workflow problem with Phab’s DR:
| * A creates a new DR.
| * B requests changes. DR now in state “revision needed”
| * C requests changes. DR still in state “revision needed”
| * A makes changes. DR now in state “needs review”
| * C looks at the changes and finds his concern addressed
| and accepts the revision. DR now in state “accepted”.
| * G comes along, sees a DR in state “accepted” and lands it.
| Problem: B did not have the chance to check the new revision.
|
|
|
|
|
|
| --
| Joachim “nomeata” Breitner
| mail at joachim-breitner.de •
| https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.joac
| him-
| breitner.de%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Caacdd3c960ea4e56e
| a6c08d456ac2c5d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636228744888
| 337816&sdata=vsGnQwAfqS%2B0hfL0ZLwnDy87eNSBeLltJQXqPOadnXo%3D&reserved=0
| XMPP: nomeata at joachim-breitner.de • OpenPGP-Key: 0xF0FBF51F
| Debian Developer: nomeata at debian.org
More information about the ghc-devs
mailing list