GHC profil oluşturma araçlarını kullanarak bazı Haskell kodunu profillemeye çalışıyorum. Bununla birlikte, en çok ilgilendiğim maliyet merkezi, şu anda gerçekten umurumda değil bir dizi başlatma kodu tarafından yönetiliyor.Yalnızca tek bir işlev (veya maliyet merkezi) GHC ile
Benim kod şöyle kabaca görünür:
main = do
x <- lotsOfInitialization
print $ {-# SCC "myCostCenter" #-} interestingPart x
Benim asıl kodunda, lotsOfInitialization
kısım zamanın ~% 98 alıyor ve bu yüzden içeride interestingPart
neler olup bittiğini herhangi boyu ile görmek zor.
Sadece bir yerde sadece notların eklenmesi (ve -fprof-auto
'u kullanmamanız) yeterli olacağını düşündüm, ancak aldığım rapor tüm fonksiyon çağrılarını gösterir.
Ayrıca x
numaralı telefondan bir sıkılık eki kullanmayı denedim, fakat hiçbir şey değişmedi.
GHC'ye başlatma kodunu yok saymasını veya yalnızca istediğim parçalara odaklanmasını söylemenin bir yolu var mı?