Ich versuche, einige Haskell-Code mit den GHC-Profiling-Tools Profil. Die Kostenstelle, an der ich mich am meisten interessiere, wird jedoch derzeit von einer Reihe von Initialisierungscodes dominiert, die mir eigentlich egal sind.Profil nur eine einzelne Funktion (oder Kostenstelle) mit GHC
Mein Code sieht in etwa wie folgt aus:
main = do
x <- lotsOfInitialization
print $ {-# SCC "myCostCenter" #-} interestingPart x
In meinem eigentlichen Code, der lotsOfInitialization
teilnimmt ~ 98% der Zeit, und so ist es schwierig, mit jeder Granularität zu sehen, was in interestingPart
geschieht.
Ich dachte, dass nur Annotation an einem Ort (und nicht mit -fprof-auto
) wäre genug, aber der Bericht, den ich bekomme immer noch zeigt alle Funktionsaufrufe.
Ich versuchte auch eine Striktheit Annotation auf x
, aber das schien nichts zu ändern.
Gibt es eine Möglichkeit, GHC mitzuteilen, den Initialisierungscode zu ignorieren oder nur auf die Teile zu fokussieren, die ich möchte?