# Vector

## JavaScript performance comparison

Revision 3 of this test case created by

## Preparation code

``````<script src="https://ajax.googleapis.com/ajax/libs/mootools/1.3/mootools-yui-compressed.js"></script>

<script>
Benchmark.prototype.setup = function() {
var Vector = new Class({
initialize: function(x, y) {
this.x = x;
this.y = y;
},
return new Vector(this.x+b.x, this.y+b.y);
}
});

function Vector2(x, y) {
this.x = x;
this.y = y;
}

Vector2.prototype.add = function(b) {
return new Vector2(this.x+b.x, this.y+b.y);
},
this.x += b.x;
this.y += b.y;

return this;
};

var Vector3 = {
}
Vector3.\$ = function(x, y) {
return [x, y];
}
Vector3.add = function(a, b) {
return [a[0]+b[0], a[1]+b[1]];
}
};

</script>
``````

## Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
Vector object
``````var vel = new Vector2(1, 0);
var vel2 = new Vector2(1, 1);
var velr = vel.add(vel2);``````
pending…
Static Vector
``````var vel = Vector3.\$(1, 0);
var vel2 = Vector3.\$(1, 1);
var velr = Vector3.add(vel, vel2);``````
pending…
Mootools Vector
``````var vel = new Vector(1, 0);
var vel2 = new Vector(1, 1);
var velr = vel.add(vel2);``````
pending…
Vector Object add to self
``````var vel = new Vector2(1, 0);
var vel2 = new Vector2(1, 1);
var velr = vel.addSelf(vel2);``````
pending…

## Revisions

You can edit these tests or add even more tests to this page by appending `/edit` to the URL.