
23 Jan
2003
23 Jan
'03
12:16 p.m.
Since you're on the line, could you confirm or deny that the (//) operator is something equivalent to (roughly):
a // ps = runST (thaw a >>= \u -> update ps >> unsafeFreeze u)
I.e. that the list of updates are treated as an atomic operation? Because doing it that way explicitly sure didn't seem to help.
Yes, it is.
OTOH, doing lots of small (//) seems to be faster than doing a few large ones (containing the same updates). Go figure.
That's bizarre. Perhaps the results are obscured by some other optimisations which are happening. Cheers, Simon