# Does pass-by-value affect the performance of function calls?

I only have a little coding experience in C, and I remember I was told that pass by reference is more efficient than pass by value since the parameters don't need to be copied. Since there is no pass by reference in Mathematica, I'm wondering if that affects the performance of function calls, especially when dealing with large data?

-
This excellent answer by @Szabolcs probably addresses most of this question. – Leonid Shifrin Mar 8 at 1:05
also this question stackoverflow.com/questions/7376032/… I see no difference in this simple test !Mathematica graphics – Nasser Mar 8 at 1:07
@Nasser Actually, the question you linked is relevant, but only tangentially. Besides, the accepted answer there promotes dangerous practice of using Unevaluated, which is a wrong thing to do from the software development perspective. Instead, Hold- attributes should be used, as I emphasized in my answer there, and then also here. – Leonid Shifrin Mar 8 at 1:12
@LeonidShifrin Yes, you are right. I do not use Unevaluated[] any more. – Nasser Mar 8 at 1:22
Thanks @Leonid, I actually forgot about that one and I was preparing to write something similar. @ All, I nominated that one for migration now, please vote if you think it's a good candidate. – Szabolcs Mar 8 at 1:47