function defineGetter(obj) {
Object.defineProperty(obj, "prop", {
enumerable: true,
configurable: true,
get() { return obj.prop_ },
});
obj.prop_ = 1;
}
var definedOnInstance = function () {
defineGetter(this);
}
function Base() {
}
var numDefinedOnPrototype = 10;
var definedOnPrototype = [];
for (var i = 0; i < numDefinedOnPrototype; i++) {
var o = new Base();
defineGetter(o);
definedOnPrototype.push(o);
}
var count = 50000;
var definedOnInstanceArray = new Array(count);
var definedOnOnePrototypeArray = new Array(count);
var definedOnMultiPrototypeArray = new Array(count)
for (var i = 0; i < count; i++) {
definedOnInstanceArray[i] = new definedOnInstance();
definedOnOnePrototypeArray[i] = Object.create(definedOnPrototype[0]);
definedOnMultiPrototypeArray[i] = Object.create(definedOnPrototype[i % numDefinedOnPrototype]);
}