-prof
ile derleyerek Haskell programımda optimizasyon fırsatları arıyorum, ancak elips içeren maliyet merkezlerini nasıl yorumlayacağımı bilmiyorum. filter.(...)
ve jankRoulette.select.(...)
nedir? yukarı olarak filter.foo
, filter.bar
vb. (...) .prof raporunda ne anlama geliyor?
filter a b = blahblah where
foo = bar
bar = baz
baz = bing
Ama bu tüm gösterir: $ ghc --make -rtsopts -prof -auto-all main.hs && ./main +RTS -p && cat main.prof
fonksiyon filter
bir where
yan tümcesinde birkaç tanımlar, böyle sahiptir:
COST CENTRE MODULE %time %alloc
filter.(...) Forest 46.5 22.3
set-union Forest 22.5 4.1
cache-lookup Forest 16.0 0.1
removeMany MultiMapSet 3.7 1.9
insertMany MultiMapSet 3.3 1.8
jankRoulette.select.(...) Forest 1.4 15.2
Birlikte oluşturulur
İç içe geçirilmiş ifadeler olabileceğini düşündüm ancak jankRoulette.select
'in hiçbiri yok. Ve SCC direktiflerini çoğunun önüne ekledim.
Çoğu zaman filter.(...)
numaralı belgede geçirildiği için bunun ne olduğunu bilmek isterim. 5,
"TODO" yorumunda, kodun önerdiği alıntılar önerilmelidir, GHC profiler raporları (ve derleyici çıktılarının hemen hemen her şeyi) her zaman "ghc --version" sonucunun eşlik etmesi gerekir. – dfeuer
Hatırlatıcı için teşekkürler! Posterity için, The Glorious Glasgow Haskell Derleme Sistemi, 7.8.1 versiyonunu çalıştırıyorum. – alltom