Why is Vector3.Lerp slower than function Lerp (a,b,c):Vector3{...

When i was editing marching cubes, i found that Mathf.Lerp seemed a bit slower than a function of Lerp written in the same script as the marching cubes code. (Unless someone shows otherwise)

Could you give me a technical explanation about the unity engine, of how it accesses unity functions, so that i can understand the code engine better?

this was fastest:

function lerps(o:Vector3, v:Vector3, alpha:float):Vector3
{
    o.x += ( v.x - o.x ) * alpha;
    o.y += ( v.y - o.y ) * alpha;
    o.z += ( v.z - o.z ) * alpha;
    return o;

}

Vector3.Lerp also clamps the time value down to be between 0 and 1 using Mathf.Clamp01 which has two if checks in it. So it does slightly bit more than what your function does.