kim@wayne.UUCP (Kim Helliwell) (08/26/88)
I need help with optimizing the List Manager call, LSetCell(). This
call is slow because the List Manager is set up to handle "cells" which
can vary in size. It presumably has to move memory around a lot and
calculate some offsets every time it is called in order to
accommodate the new data.
I have an application in which the size of every cell is a known constant,
and it seems to me to be silly to spend extra time reallocating blocks
in order to move memory around when the size of the block and the
offsets are predictable in advance from the size of the list itself.
So, I would like to write my own LSetCell() to optimize for my
special case. I understand that I would have to allocate the
DataHandle field and the array of offsets. There is also a field
called MaxIndex, which appears to be needed, but I am not sure how
it is used.
Does anyone know what MaxIndex is for? Are there any other pitfalls
I would run into in writing my own function? One possible one is
what to do when columns are added to the list after data is already
stored in it. Adding rows would be difficult, too, but not as
much. Any others?
--
"An armed society is a polite society."
Kim Helliwell