Turns out I was building the trees wrong, ended up getting a structure that looked like a linked list (each tree only had 1 child) so the depth of the recursion was way higher than it should've been. Crisis averted!

Still seemed odd that the garbage collector ran for so much of the time, so I checked and there's a ticket in GHC trac about it: http://hackage.haskell.org/trac/ghc/ticket/2236 .

On 20-May-09, at 12:02 AM, Matthew Eastman wrote:

...

The code I have right now works great on point sets of size ~10,000, but when I go up much higher things start to go wrong. I start hitting stack overflows, so I increased the stack size. For ~100,000 points though, running the code with +RTS -sstderr -K128m it chugged along for over an hour and then died with a stack overflow. The stats said it spent 50 seconds MUT time and 5300 seconds (almost 90 minutes!) GC time, which seems odd.

...

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to