At the present time, both the head and tail of a list! are quick to access as well as next and back of the current index. - jim At 12:50 PM 6/12/2000 -0400, you wrote: > >List!s are actually stored differently from blocks, paths and hashes, > >so any operation on them requires special code that has not been > >implemented for all action types. > > - jim > >It makes sense, of course. >If you need random access by position number then don't use a list. >That is almost by definition. Use a regular block instead. > >Lists are I am guessing very efficient for certain algorithms requiring >rapid insertion/deleetion and sequential access only. >Since blocks are pretty fast, you would only need lists for >getting the extra performance boost in some critical code with certain >algorithms. >Maybe the list also uses slightly less storage overhead per element? > >I doubt that the "special code" he refers to would be hard to write, >it's just that it would be slow as hell, you would for instance get >the 352nd element by starting at the head of the list and skipping >down 352 times. Real Fast, eh? That's why you don't even >want to do that. > >But think about implementing a fast stack, where you insert or push an >object at the head of the list and pull or pop it also from the head. >This is one job that a list can do really efficiently. I am sure >others can think of more. I don't know if we have fast access >to the tail of the list also. Normally one would assume that >reaching the tail would be slow unless a pointer is kept to it >specially. > >Basically, if you can't imagine why you would need a list, >you probably don't need one.
