@keless: I overloaded an actual engine function and disassambled a real situation. Because otherwise you could get totally different result because the compiler might optimize away and falsify many things.
The function I implemented looks like this (ISceneNode.h):
Hm, really interesting. So I was wrong.
And it is slower. A little bit. But I don't think that this function is a bottleneck, it would not make any difference changing this. I think if you change all setPosition()-calls in the engine to this, it would not make the engine run faster. So I think the speed argument still doesn't count.
The speed is just a bonus to the ease added. If you are already using vectors, great it'll be even faster. If you are creating numbers, great you don't have to punch out the vector initializer, and its faster.
XP SP2, AMD Athlon 64 3500+, 1GB HyperX RAM, Radeon X700 Pro (PCI-e), 120GB SATA drive