Я пытаюсь профилировать свою программу.
Я собираю это так:
ghc -rtsopts -O3 -prof -auto-all Main.hs
И запустить:
./Main +RTS -p
И читать Main.prof
:
Fri Jul 15 13:06 2011 Time and Allocation Profiling Report (Final)
Main +RTS -p -RTS
total time = 0.00 secs (0 ticks @ 20 ms)
total alloc = 266,726,496 bytes (excludes profiling overheads)
COST CENTRE MODULE %time %alloc
trySub Main 0.0 14.3
ourPalindroms Main 0.0 15.0
isPalindromic Main 0.0 70.7
individual inherited
COST CENTRE MODULE no. entries %time %alloc %time %alloc
MAIN MAIN 1 0 0.0 0.0 0.0 100.0
CAF Main 240 10 0.0 0.0 0.0 100.0
asSquareSum Main 253 0 0.0 0.0 0.0 0.0
squares Main 252 2 0.0 0.1 0.0 0.1
maxN Main 248 1 0.0 0.0 0.0 0.0
ourPalindroms Main 247 1 0.0 15.0 0.0 85.7
isPalindromic Main 249 1000000 0.0 70.7 0.0 70.7
main Main 246 1 0.0 0.0 0.0 14.3
asSquareSum Main 250 1998 0.0 0.0 0.0 14.3
trySub Main 251 1998 0.0 14.3 0.0 14.3
CAF GHC.IO.Handle.FD 176 2 0.0 0.0 0.0 0.0
CAF GHC.IO.Encoding.Iconv 137 2 0.0 0.0 0.0 0.0
CAF GHC.Conc.Signal 130 1 0.0 0.0 0.0 0.0
Эта потрясающая скорость моей программы - ложь:
[.../P125]$ time ./Main +RTS -p
...output...
real 0m4.995s
user 0m4.977s
sys 0m0.010s
(Да, я пробовал работать как с * 1016, так и без него, а профилировщик продолжает лгать)
Что я могу сделать?
[.../P125]$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.0.3
ОС Mac OS X 10.6.8. Я почти уверен, что установил ghc
из доморощенного