
Alistair Bayley
- is my analysis of the space usage correct i.e. allocation in the loop function is very short-lived and nothing to worry about?
IME, that would be the typical case.
- is there anything I can do to reduce the memory usage, or is it already minimal, assuming that I'm happy with the size of the STArrays? I realise I could use, say, PackedStrings
Slightly more general, you could use unboxed STUArrays. Still limited to a few built-in data types, and strict. E.g. a STUArray Int Word8 would only take up one byte per element, an STArray would store a (4 byte) pointer in each cell, pointing either to a Word8 value, or to a lazy thunk for computing it. At least as far as I understand it. (Manuel's paper notwithstanding, I still have the feeling that *UArrays should be *StrictArrays, and unboxing should be left as a compiler optimization (which then could apply to arbitrary element types, as long as they were strict.) -k -- If I haven't seen further, it is by standing in the footprints of giants