No, A is definitely the most efficient. The reason is because a FOR loop has a fixed number of iterations. So the Autoindex tunnel has a preallocated array.

The While Loop with the autoindex is next because of how the compiler incrementally preallocates more memory for the output tunnel. Put simply, it doubles the memory when the allocated memory is used up.

B and D I would say are about the same since the Build Array forces a memory reallocation each time it is ran.

I can’t offer a detailed explanation. But my assumption was the same: A For loop should be faster than a while loop (more work to do with comparisons, open end till condition) and auto index should be faster than build function (build function seems to me a more universal and complex function). Second reason seems more significant than first reason. So A-C-B-D