prototype vs closures (v84)

Revision 84 of this benchmark created by Doug Gale on


Preparation HTML

<script>
function Person(name) {
	this.name = name;
}

Person.prototype.get_name = function() {
	return this.name;
};

Person.prototype.set_name = function(name) {
	this.name = name;
};

function person(name) {
	return {
		get_name: get_name,
    set_name: set_name
  };

  function get_name() {
			return name;
	}
	
  function set_name(nm) {
			name = nm;
	}
}

var _p = new Person('John');
var _c = person('John');
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Prototype init
var p = new Person('John');
ready
Closure init
var c = person('John');
ready
Prototype read
_p.get_name();
ready
Closure read
_c.get_name();
ready
Prototype write
_p.set_name('Jane');
ready
Closure write
_c.set_name('Jane');
ready

Revisions

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