Chad Stansbury wrote: > Your results piqued my interest. I have created a test program to determine > at which point the linked list becomes more efficient than the array list. > Here are my results: > > List Size = 16 elements > Iterations = 1,000,000 > ArrayList = 331 ms > LinkedList = 761 ms > > List Size = 32 elements > Iterations = 1,000,000 > ArrayList = 391 ms > LinkedList = 761 ms > > List Size = 64 elements > Iterations = 1,000,000 > ArrayList = 460 ms > LinkedList = 751 ms > > List Size = 128 elements > Iterations = 1,000,000 > ArrayList = 601 ms > LinkedList = 751 ms > > List Size = 256 elements > Iterations = 1,000,000 > ArrayList = 881 ms > LinkedList = 761 ms > > As you can see, the linked list's add/remove time remains constant, while > the array list experiences linear degradation. The crossover point being > somewhare around 200 some elements. Anyway, it was an interesting exercise. > Below is the program I used to test this, and all results above were > generated w/ a P4 @ 1.4GHz, 512 MB RAM.
I ran your test, and for my machine (arguably slower) the crossover point was 512 elements. I then altered it to be more in line with how I was using the Lists before: I added to the tail, and removed from the head. Both CircularBuffer and LinkedList exibited constant time access. The interesting thing is that ArrayList is more efficient operating the way I told it to. The crossover point was pushed back to somewhere around 624 elements. Armed with this knowledge, I think the CircularBuffer is the better approach, and am not likely to implement a LinkedList version of the Queue. -- "They that give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." - Benjamin Franklin -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>