Vector

JavaScript performance comparison

Revision 3 of this test case created

Preparation code

<script src="//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;
      },
      add: function(b) {
        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);
    },
    Vector2.prototype.addSelf = function(b){
      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>

Preparation code output

Test runner

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

Java applet disabled.

Testing in unknown unknown
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…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment