[comp.sys.mac.programmer] optimizing LSetCell

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