
Okay, here are my thoughts: On Apr 19, 2008, at 9:56 AM, Andrew Coppin wrote:
Weird thing #1: The first time you sort the data, it takes a few seconds. The other 7 times, it takes a split second - roughly 100x faster. Wuh?
This looks like standard memoization to me. I know, I know, GHC doesn't automagically memoize… it still has some behaviors I personally would label as a sort of primitive memoization, and this is one of them. I learned about this by losing an argument. ;)
Weird thing #2: The parallel version runs *faster* than the sequential one in all cases - even with SMP disabled! (We're only talking a few percent faster, but still.)
Weird thing #3: Adding the "-threaded" compiler option makes *everything* run a few percent faster. Even with only 1 OS thread.
I think these are not noteworthy. Weird things happen in benchmarks (which is why I have learned not to trust them).
Weird thing #4: Adding "-N2" makes *everything* slow down a few percent. In particular, Task Manager shows only one CPU core in use.
Then your algorithm must not truly be parallel. That is the only explanation I can think of. - Jake McArthur