Don Stewart wrote:
> Andrew, I hope you look carefully at the suggestions here, and use them
> to improve the code you were working on.
>
Indeed, this is just the sort of stuff I was hoping to get... [Top marks
for spotting the laziness leak in "pad" BTW! I totally missed that.]
While I'm here, can I just clarify *exactly* what -funbox-strict-fields
actually does?
I was under the impression that if you have a single-constructor type
with all strict fields, GHC would automatically try to avoid boxing and
unboxing it. However, the existence of this flag seems to indicate that
it only performs this particular optimisation if you ask for it. But on
the third hand, turning this flag on or off makes no measurable
performance difference. (At least, in the tests I did. Maybe that's
because it was swamped by all the other inefficiencies mentioned?) Some
clarification?