> And if you not doing ordered insertion you wouldn't have to move the data in the array anyway, you would keep track of the size and jump to the end, so not sure I understand the binary search comment.
It just means that if I want to view the nth element of an array, that's a constant time operation. I just take the pointer and add n times the size of the elements.
But for a linked list if I want to view the nth element of the list, I have to view the (n-1)th element first, all the way back until the first element I have a reference to.
> The next question is at what level of growth the waste of empty space in the array becomes too much.
Everything I've tried and everything I've seen from people testing on real hardware is that the gap in performance widens with larger values of n.
You might expect different performance as the system runs out of memory. But arrays have a size of n * element size, and linked lists have a size of n * (pointer(s) + element size), so the linked list would hit memory limitations more quickly regardless.