Changes between Version 9 and Version 10 of ArrayTasklist

Show
Ignore:
Timestamp:
10/13/09 14:09:57 (5 years ago)
Author:
coke
Comment:

add some comments.

Legend:

Unmodified
Added
Removed
Modified
  • ArrayTasklist

    v9 v10  
    2727== Resizable Arrays == 
    2828 
    29  * Do any HLL's use the current resizable array types without extending them to include initialization of unset elements? 
     29 * Do any HLL's use the current resizable array types without extending them to include initialization of unset elements? (Yes, partcl, at the moment, uses RPAs without extending them to deal with potentially unset elements --coke) 
    3030 
    3131 They were created as extensions of fixed-sized arrays, extended to support pop, push, shift, unshift and set-integer, but ''not'' extended to guarantee initialization. However it seems likely that the lack of initialization is a misplaced optimization that is probably of no use to any HLL, forcing every HLL to override this behaviour. Does anyone implementing a language say otherwise? 
    3232 
    33  * Is there room to make new types of resizable array that target their use as a queue (optimized for push, pop, shift & unshift) rather than for indexability? 
     33 * Is there room to make new types of resizable array that target their use as a queue (optimized for push, pop, shift & unshift) rather than for indexability?  
    3434 
    3535 The current versions implement shift and unshift by doing bulk memmove, which is quite expensive. A ring-buffer approach that uses head and tail indexes would be far more efficient, ''if'' that's what we're really targetting by having the content uninitialized. 
     
    5757Should we have separate PMC's that optimize for each of these roles? 
    5858 
     59(I think the current explosion of Array types was an attempt to optimize that has failed; do we have benchmarks showing that any particular array is faster/more compact/??? than another for a particular usage? Personally, I'd like to see a unification of array types, not a further segmentation --coke) 
     60 
    5961= Tasks = 
    6062