Anyway, I've attached the file in case anyone else has better luck. I'm using parrot r10431 at the moment on OS X, and 0.3.1 on FreeBSD. For smaller numbers, it's usable. With twelve, I get around 30 seconds to a minute for both versions/archs. From my rough numbers of it, it should only take about about 15 minutes, but the memory constraint slows it down for me.
I notice that a lot of the code pertains to lines 42-47, creating an array and storing values in it. But by far, the biggest part of the execution is tied in calling subroutines and returning. With an argument of 8, invokecc(and it's ilk) are called 100701 times. Either there's a problem with the code that I'm not aware of, or you have a great new test for debugging the gc...
binarytrees.pir
Description: Binary data