views:

84

answers:

1

I am writing some optimization application in Haskell and I just ran it through profiler. I can see many functions and a strange symbol "==_a3JO" (sometimes different numbers and leters). What does it stand for?

Sample output:

      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
+4  A: 

Does distanceRad have an Eq instance as an argument? I've only used the profiler a few times, but it looks like it's an instance implementation of (==) that has been name-mangled to be unique.

(Posting the code might help.)

Nathan Sanders
Should have occured to me :) Yes, it is - and I am spending 60% of time comparing things. The profile turned out to be very useful indeed...
ondra
It has for me too. I've compared two algorithms that had the same complexity bound and the actual performance was exactly backward from what I predicted. Profiling in a lazy language is super important.
Nathan Sanders