> My guess is that the two main memory allocate/deallocate cases are 1) > appending a new item to the end, and 2) GC'ing the entire data > structure. I would optimize these 2 at the expense of all others. Does that include dictionary lookups? Regards, Martin