functions – Passing Multiple Arguments or Passing a List and Referring to its Parts – Which Gives Better Performance?

Which is better for optimizing speed, memory, and coding “safety”, passing multiple arguments to a function or passing a single list to the function and call the list’s parts?

That is, which of the following gives better performance?

f[#1, #2, ..., #n] &[x1, x2, ..., xn]

or

f[#[[1]], #[[2]], ..., #[[n]]] &[{x1, x2, ..., xn}]

Both, of course, give the same output…

f[x1,x2,...,xn]

Assume f is complicated enough and n is large enough for any performance differences to be significant.