Test name | Executions per second |
---|---|
Read from data property | 1550473728.0 Ops/sec |
Write to data property | 1009694656.0 Ops/sec |
Read from accessor method | 1506328576.0 Ops/sec |
Write to mutator method | 742077184.0 Ops/sec |
Read from object literal property | 1427719936.0 Ops/sec |
Write to object literal property | 779916160.0 Ops/sec |
Read from object literal property on prototype | 1560535168.0 Ops/sec |
Write to object literal property on prototype | 716759360.0 Ops/sec |
var data = {
property: property
};
var property = undefined;
var method = {
getProperty: function() {
return property;
},
setProperty: function(value) {
property = value;
}
};
var objectLiteralAccessor = {
get property() {
return property;
},
set property(value) {
property = value;
}
};
function Class() {
}
Class.prototype = {
get property() {
return property;
},
set property(value) {
property = value;
}
};
var prototypeAccessor = new Class();
var value = data.property;
data.property = true;
var value = method.getProperty();
method.setProperty(true);
var value = objectLiteralAccessor.property;
objectLiteralAccessor.property = true;
var value = prototypeAccessor.property;
prototypeAccessor.property = true;