Changes between Version 9 and Version 10 of ArrayTasklist
- Timestamp:
- 10/13/09 14:09:57 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ArrayTasklist
v9 v10 27 27 == Resizable Arrays == 28 28 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) 30 30 31 31 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? 32 32 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? 34 34 35 35 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. … … 57 57 Should we have separate PMC's that optimize for each of these roles? 58 58 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 59 61 = Tasks = 60 62