0N/A<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
1472N/A<html>
0N/A<head>
0N/A <title>YUI: Base Perf</title>
0N/A</head>
0N/A<body class="yui3-skin-sam">
0N/A
0N/A<script type="text/javascript" src="/build/yui/yui.js"></script>
0N/A
0N/A<p>This test creates a class with 20 attributes and extends from Y.Base.</p>
0N/A
0N/A<div id="results"></div>
0N/A
0N/A<script>
0N/A
0N/AYUI({base: '/build/', filter:"raw"}).use('dump', 'base', 'node', function(Y) {
0N/A
0N/A var res = document.getElementById('results');
1472N/A
1472N/A var Test = function() {
1472N/A if (Test.superclass) {
0N/A Test.superclass.constructor.apply(this, arguments);
0N/A }
0N/A };
0N/A
0N/A Test.NAME = 'test';
0N/A
0N/A Test.ATTRS = {
0N/A
0N/A attr1: {
0N/A value: "Foo",
0N/A setter: function(n) {
0N/A return n;
0N/A }
0N/A },
0N/A
0N/A attr2: {
0N/A value: "Bar",
0N/A setter: function(n) {
0N/A return n;
0N/A }
0N/A },
0N/A
0N/A attr3: {
0N/A value: true
0N/A },
0N/A
0N/A attr4: {
0N/A value: 3
0N/A },
0N/A
0N/A attr5: {
0N/A value: 3
0N/A },
0N/A
0N/A attr6: {
0N/A value: false,
0N/A setter: function(lock) {
0N/A return lock;
0N/A }
0N/A },
0N/A
0N/A attr7: {
0N/A value: false
0N/A },
0N/A
0N/A attr8: {
0N/A value: true
0N/A },
0N/A
0N/A attr9: {
0N/A value: true
0N/A },
0N/A
0N/A attr10: {
0N/A value: false
0N/A },
0N/A
0N/A attr11: {
0N/A value: true
0N/A },
0N/A
0N/A attr12: {
0N/A value: false
0N/A },
0N/A
0N/A attr13: {
0N/A value: false
0N/A },
0N/A
0N/A attr14: {
0N/A value: false,
0N/A setter: function(val) {
0N/A return val;
0N/A }
0N/A },
0N/A
0N/A attr15: {
0N/A value: null,
0N/A setter: function(val) {
0N/A return false;
0N/A }
0N/A },
0N/A
0N/A attr16: {
0N/A value: ['default'],
0N/A
0N/A getter: function() {
0N/A return false;
0N/A },
0N/A
0N/A setter: function(g) {
0N/A return g;
0N/A }
0N/A },
0N/A attr17: {
0N/A value: null,
0N/A setter: function(g) {
0N/A return g;
0N/A }
0N/A },
0N/A attr18: {
0N/A writeOnce: true,
0N/A value: null
0N/A },
0N/A attr19: {
0N/A writeOnce: true,
0N/A value: null
0N/A },
0N/A attr20: {
0N/A writeOnce: true,
0N/A value: null
0N/A }
0N/A };
0N/A
0N/A Y.extend(Test, Y.Base, {
0N/A foo: function() {}
0N/A });
0N/A
0N/A var start, end, i, t, n = 1000;
0N/A
0N/A // console.profile("Base");
0N/A start = new Date().getTime();
0N/A for (i = 0; i < n; i++) {
0N/A t = new Test();
0N/A }
0N/A end = new Date().getTime();
0N/A // console.profileEnd();
0N/A
0N/A res.innerHTML = "Avg Time:" + ((end-start)/n);
0N/A
0N/A var t = new Test();
0N/A res.innerHTML += "<pre>" + Y.dump(t.getAttrs()) + "</pre>";
0N/A});
0N/A</script>
0N/A</body>
0N/A</html>
0N/A