Profiling and analysing space usage

Ketil Malde ketil+haskell at ii.uib.no
Fri Sep 2 02:57:48 EDT 2005


Alistair Bayley <abayley at gmail.com> writes:

I'm no expert, but since nobody else seems to have answered:

>  - 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



More information about the Glasgow-haskell-users mailing list