[Haskell-cafe] Memory usage when passing arrays in state
daniel.is.fischer at web.de
Tue Mar 3 20:55:29 EST 2009
Am Mittwoch, 4. März 2009 02:30 schrieb Tobias Olausson:
> Thank you Daniel.
> As I understood it DiffArrays are supposed to be faster than the regular
They may be supposed to be faster, but they aren't.
If you want anything resembling speed, use UArrays, STUArrays, or, if your
array elements cannot be unboxed, plain Arrays and STArrays, or some other
array-package from Hackage (I don't know which are good, though, the above
are good enough for me).
> Array due to the fact that it doesnt copy the entire Array, but just
> updates the position that changes, and keeps some kind of "changelog" on
> the array. But when looking at the statistics for my sample program, it
> seems that it allocates a lot more than what should be needed, which would
> indicate that maybe the array is copied anyway.
> At this point, the DiffArray/DiffUArray are the only functional arrays,
No. They are probably the most dysfunctional arrays around.
> I mean, I can add two and two together and see that it
> equals...four, and if the only functional array is sort of broken, that
> means so is my program. Are there any alternatives that are fast aswell?
More information about the Haskell-Cafe