On Jun 4, 2006, at 12:35 PM, Mario Blazevic wrote:


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.

Enabling profiling can significantly change the space behavior of programs. There may be some important optimizations that don't occur in the presence of profiling, and the profiling data itself takes some memory. I have to admit, I don't know a lot about GHC profiling so I'm afraid I can't be of much help. If you can scale down the problem size to do your profiling, that may keep it from being OOM'd and let you get some useful data.

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.

That's good to hear.  What's the usage pattern?

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?


Rob Dockins

Speak softly and drive a Sherman tank.
Laugh hard; it's a long way to the bank.
          -- TMBG
_______________________________________________
Haskell mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to