Beim Profiling eines Haskell-Programms, das in GHC geschrieben wurde, werden die Namen von typeclass-Funktionen in der .prof-Datei gemangelt, um die Implementierungen einer Instanz von einer anderen zu unterscheiden. Wie kann ich diese Namen abmildern, um herauszufinden, welche Typinstanz es ist?
Angenommen, ich habe das folgende Programm, wobei die Typen Fast
und Slow
beide Show
implementieren:
Ich kompiliere mit -prof -auto-all -caf-all
und starte mit +RTS -p
. In der .prof-Datei, die generiert wird, sehe ich, dass die oberen Kostenstellen sind:
Und im Baum sehe ich ebenfalls (unter Auslassung irrelevanter Linien):
%Vor% Wie finde ich heraus, dass show_an9
die Slow
Implementierung von show
und nicht Fast
's ist?
Tags und Links haskell ghc profiler name-mangling