[Haskell-cafe] Unrecognized function symbols in .prof
leepike at gmail.com
Tue Feb 8 09:25:56 CET 2011
> One way to test this would be to name the equality function explicitly. For
> example, something like this:
> myEquality x y = ...
> instance Eq MyType where (==) = myEquality
Good idea (but a little painful!).
> Another option would be to look at the generated core by using -ddump-simpl
> when compiling. This will generate a whole bunch of output, which you can
> redirect to a file and the search for the mysterious symbols inside.
The symbols aren't in the core of the module I'm profiling---sorry, I
didn't mention that the symbols are from an imported library (compiled
with -auto-all, so the library symbols are included in the .prof).
Is there a convenient way to dump core when building libraries with
cabal? (--ghc-options=-ddump-simpl doesn't seem to do it).
Anyway, I'll resort to your option #1.
>> I am profiling a Haskell program using GHC, and after executing the
>> program with +RTS -p, I get a .prof file that lists the cost centers
>> of the program. Some of the cost centers listed are for function
>> symbols that do not exist in the given module. For example, I have in
>> my .prof file:
>> COST CENTRE MODULE %time %alloc
>> ==_a2MT Foo 19.8 0.0
>> ==_a2R8 Foo 17.8 0.0
>> ==_a2Bg Bar 13.7 0.0
>> .... ....
>> It appears these are generated symbols; how do I find out what those
>> function symbols correspond to? (In this case, my assumption is that
>> these symbols refer to instances of the Eq class, but I'm not sure.)
>> [I couldn't find anything about this in the GHC online documentation
>> or via Googling, but sorry if I missed it.]
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe