[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ARRAY management in MACLISP



    Yea, "NORET" rather than "*NORET", cheers to "*NOPOINT".
But I'm aghast at your comment that fiddling NORET and GETSP slowed
things down (or at least left an unacceptable solution) - it can't do 
anything but reduce the number of GCs and array-relocations both.  
One theory of HUNKs was that the overhead, both in terms of header-space 
consumed and in time spent on memory-management (creation, relocation and 
gc'ing) was much less than for arrays.  Certainly, setting ^D cant cause 
any significant time loss.  Most likely, you should try setting the 
interval (- BPEND BPORG) as large as possible, in order to reduce the 
array-relocation incidence; this would be similar to allocating as much 
FLONUM space as possible when you have a fastly-flonum-consing problem.  
    But also, you may merely be victim of the gross time-overhead for 
ARRAY creation.  In NIL, the VECTOR will most likely solve this problem 
since their management will be essentially the same as cons cells (please,
no "black" humor).  Could you try your application with HUNKs?  How did 
you estimate the likely time the problem should take (since you said the 
array solution seemed to take 3 times longer)?