2010-02-04 21 views
6

Piszę jakąś aplikację optymalizacyjną w Haskell i właśnie przeprowadziłem ją przez profiler. Widzę wiele funkcji i dziwny symbol "== _ a3JO" (czasami różne liczby i leters). Co to oznacza?Zrozumienie wyjścia profilera Haskella - co to jest == _ a3JO

Przykładowe wyjście:

 maxDistanceRaw Igc             360  471912 5.2 5.7 19.8 20.3 
     distance  Igc             364 30143010 1.3 1.0 14.6 14.6 
     distanceRad Igc             365 30143010 10.4 8.8 13.3 13.6 
     ==_a3JO  Igc             366 30143010 2.9 4.9  2.9 4.9 
    ==_a3JO   Igc             350 233432454 35.3 36.9 35.3 36.9 

Odpowiedz

5

Czy distanceRad mieć wystąpienie Eq jako argument? Kilka razy użyłem profilera, ale wygląda na to, że jest to implementacja instancji (==), która została wymodelowana na unikatową nazwę.

(Delegowanie kod może pomóc.)

+1

Gdyby wystąpiły do ​​mnie :) Tak, to jest - a ja spędzać 60% czasu porównując rzeczy. Profil okazał się bardzo przydatny ... – ondra

+0

Ma też dla mnie. Porównałem dwa algorytmy, które wiązały się z tą samą złożonością, a rzeczywista wydajność była dokładnie odwrotna od przewidywanej. Profilowanie w leniwym języku jest bardzo ważne. –