Why is Vector3.zero slower than new Vector3(0,0,0)?

I was pretty sure that adding Vector3.zero would be better than adding new Vector3(0,0,0), Because
adding Vector3.zero is just add static variable, while the latter means creating new Vector3 then add which call GC.

But Vector3.zero was slower!

Vector3 v;
	void Update() {
		for (int j = 0; j < 10000000; j++) {
			v += Vector3.zero;
			//v += new Vector3(0, 0, 0);

v += Vector3.zero;
v += new Vector3(0, 0, 0);

The results are not swapped, I can’t understand whats happening. Need help!

The Scripting Documentation shows static, but its a static property not a static variable.
Amitloaf’s response had me dig a little deeper to see thier meaning.

from https://github.com/MattRix/UnityDecompiled/blob/master/UnityEngine/UnityEngine/Vector3.cs

public static Vector3 zero
				return new Vector3(0f, 0f, 0f);

The property just calls the constructor as you did.
If the idea of properties are unfamiliar to anyone reading:

Vector3.Zero is not a static member, it’s a property accessor which is like calling a function and adds an overhead. Also in the property itself it creates a new copy (which probably doesn’t matter much as it’s a struct).