[Haskell] Edison 1.2 and profiling

Mario Blazevic mblazevic at stilo.com
Sun Jun 4 12:35:49 EDT 2006

The profiled version of the latest Edison library doesn't work for me.

I got Edison 1.2 via darcs. I used the regular 'make system' command to
build and install the regular (non-profiled) version of Edison. Then I
went to edison-api and edison-core subdirectories, in turn, and executed
the Cabal commands:

    runhaskell Setup.hs clean
    runhaskell Setup.hs configure --enable-library-profiling
    runhaskell Setup.hs build
    runhaskell Setup.hs install

The library seems to be properly installed:

    $ ls -l /usr/local/lib/EdisonCore-1.2/ghc-6.4.2/
    total 9985
    drwxr-xr-x 3 root root      72 Jun  3 20:28 Data
    -rw-r--r-- 1 root root 1939264 Jun  4 12:08 HSEdisonCore-1.2.o
    -rw-r--r-- 1 root root 2932114 Jun  4 12:08 libHSEdisonCore-1.2.a
    -rw-r--r-- 1 root root 5339788 Jun  4 12:08 libHSEdisonCore-1.2_p.a

     $ ls -l /usr/local/lib/EdisonCore-1.2/ghc-6.4.2/Data/Edison/Assoc/
    total 720
    -rw-r--r-- 1 root root 86508 Jun  4 12:08 AssocList.hi
    -rw-r--r-- 1 root root 86513 Jun  4 12:08 AssocList.p_hi
    -rw-r--r-- 1 root root 61267 Jun  4 12:08 Defaults.hi
    -rw-r--r-- 1 root root 61272 Jun  4 12:08 Defaults.p_hi
    -rw-r--r-- 1 root root 67740 Jun  4 12:08 PatriciaLoMap.hi
    -rw-r--r-- 1 root root 67745 Jun  4 12:08 PatriciaLoMap.p_hi
    -rw-r--r-- 1 root root 56208 Jun  4 12:08 StandardMap.hi
    -rw-r--r-- 1 root root 56213 Jun  4 12:08 StandardMap.p_hi
    -rw-r--r-- 1 root root 86239 Jun  4 12:08 TernaryTrie.hi
    -rw-r--r-- 1 root root 86244 Jun  4 12:08 TernaryTrie.p_hi

I compile the profile version of my program using the following line:

    ghc -package text -package EdisonAPI -fglasgow-exts --make Main -o
gens-prof -odir profiler -hidir profiler -prof -auto-all

The ghc version is 6.4.2, by the way. When I run the compiled program,
it keeps grabbing memory until it's killed by the system. The
non-profiled version of the program runs perfectly well. In fact, the
PatriciaLoMap from Edison seems to be about two to three times faster
than Data.Map library for my purposes. Lots of unions. So you might say
that I don't need profiling any more, but still...

Any ideas on what might have gone wrong?

More information about the Haskell mailing list