[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bucketing: Look for commonalities amongst timeouts



There are 5 definitions which always failed: mult2 qexp op mul3acc mul3

mul3 and mul3acc call themselves multiple times in non-tail-recursive
ways, so they look to perform pretty poorly in any case.

op is a bit weird: it's tail-recursive, but non-strict, so this may
build up thunks and leak space. It also has 4 arguments, which could
cause really huge expressions to be generated.

mult2 and qexp are standard tail-recursive definitions, which is
worrying. However, this isn't really our problem: it's maybe a question
for GHC's strictness analysis, etc.

We should try writing strict versions of op, mult2 and qexp to see what
happens when we explore them (individually) with QuickSpec.