var console = {};
console.log = function(x) {
print(x);
}
console._timers = {};
console.time = function(timerName) {
console._timers[timerName] = new Date();
}
console.timeEnd = function(timerName) {
console.log("timerName" + ": " + ((new Date()) - console._timers[timerName]));
}
var loop = 500000;
(function() {
console.time("e");
var o = {};
for(var i = 0; i < loop; i++) {
o[i] = i;
}
console.timeEnd("e");
})();
(function() {
console.time("e");
var o = [];
for(var i = 0; i < loop; i++) {
o[i] = i;
}
console.timeEnd("e");
})();
(function() {
console.time("e");
var o = {0 : 0};
for(var i = 0; i < loop; i++) {
o[i] = i;
}
console.timeEnd("e");
})();
(function() {
console.time("e");
var o = [0];
for(var i = 0; i < loop; i++) {
o[i] = i;
}
console.timeEnd("e");
})();
(function() {
console.time("e");
var o = [];
o[0] = 0;
for(var i = 0; i < loop; i++) {
o[i] = i;
}
console.timeEnd("e");
})();
dmFyIGNvbnNvbGUgPSB7fTsKY29uc29sZS5sb2cgPSBmdW5jdGlvbih4KSB7CglwcmludCh4KTsKfQpjb25zb2xlLl90aW1lcnMgPSB7fTsKY29uc29sZS50aW1lID0gZnVuY3Rpb24odGltZXJOYW1lKSB7Cgljb25zb2xlLl90aW1lcnNbdGltZXJOYW1lXSA9IG5ldyBEYXRlKCk7Cn0KY29uc29sZS50aW1lRW5kID0gZnVuY3Rpb24odGltZXJOYW1lKSB7Cgljb25zb2xlLmxvZygidGltZXJOYW1lIiArICI6ICIgKyAoKG5ldyBEYXRlKCkpIC0gY29uc29sZS5fdGltZXJzW3RpbWVyTmFtZV0pKTsKfQoKdmFyIGxvb3AgPSA1MDAwMDA7CgooZnVuY3Rpb24oKSB7Cgljb25zb2xlLnRpbWUoImUiKTsKCXZhciBvID0ge307Cglmb3IodmFyIGkgPSAwOyBpIDwgbG9vcDsgaSsrKSB7CgkJb1tpXSA9IGk7Cgl9Cgljb25zb2xlLnRpbWVFbmQoImUiKTsKfSkoKTsKCihmdW5jdGlvbigpIHsKCWNvbnNvbGUudGltZSgiZSIpOwoJdmFyIG8gPSBbXTsKCWZvcih2YXIgaSA9IDA7IGkgPCBsb29wOyBpKyspIHsKCQlvW2ldID0gaTsKCX0KCWNvbnNvbGUudGltZUVuZCgiZSIpOwp9KSgpOwoKKGZ1bmN0aW9uKCkgewoJY29uc29sZS50aW1lKCJlIik7Cgl2YXIgbyA9IHswIDogMH07Cglmb3IodmFyIGkgPSAwOyBpIDwgbG9vcDsgaSsrKSB7CgkJb1tpXSA9IGk7Cgl9Cgljb25zb2xlLnRpbWVFbmQoImUiKTsKfSkoKTsKCihmdW5jdGlvbigpIHsKCWNvbnNvbGUudGltZSgiZSIpOwoJdmFyIG8gPSBbMF07Cglmb3IodmFyIGkgPSAwOyBpIDwgbG9vcDsgaSsrKSB7CgkJb1tpXSA9IGk7Cgl9Cgljb25zb2xlLnRpbWVFbmQoImUiKTsKfSkoKTsKCihmdW5jdGlvbigpIHsKCWNvbnNvbGUudGltZSgiZSIpOwoJdmFyIG8gPSBbXTsKCW9bMF0gPSAwOwoJZm9yKHZhciBpID0gMDsgaSA8IGxvb3A7IGkrKykgewoJCW9baV0gPSBpOwoJfQoJY29uc29sZS50aW1lRW5kKCJlIik7Cn0pKCk7