profiling a constructor?

Simon Peyton Jones simonpj at microsoft.com
Sat May 23 21:11:29 UTC 2020


This would be a sensible thing to be able to count with -ticky.  Not hard to add either.

(Richard is asking for number of allocations, not what is live at any moment.)

Simon

|  -----Original Message-----
|  From: ghc-devs <ghc-devs-bounces at haskell.org> On Behalf Of Richard
|  Eisenberg
|  Sent: 23 May 2020 13:59
|  To: GHC developers <ghc-devs at haskell.org>
|  Subject: profiling a constructor?
|  
|  Hi devs,
|  
|  Is there a way to count the number of times a particular constructor is
|  allocated? I might want to know, say, the total number of cons cells
|  allocated over the course of a program, or (in my actual case) the total
|  number of FunTy cells allocated over the course of a program.
|  
|  I can try to do this with an SCC. But it's very clunky:
|  * The constructor may be used in a number of places; each such place
|  would need the SCC.
|  * SCCs can interfere with optimizations. In my use case, this would
|  negate the usefulness of the exercise entirely, as I think some of the
|  structures I wish to observe should never come into being, due to
|  optimizations (e.g. case-of-known-constructor after inlining).
|  
|  Surely, the RTS must be able to count the number of times a constructor
|  is used. But is there any way to access such a feature? If others agree
|  that this would sometimes be helpful, perhaps we can build the feature.
|  Now is not the first time I've wanted this.
|  
|  Thanks!
|  Richard
|  _______________________________________________
|  ghc-devs mailing list
|  ghc-devs at haskell.org
|  http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


More information about the ghc-devs mailing list