f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<html>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<head>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<title>Cache Tests</title>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<script type="text/javascript" src="/build/yui/yui.js"></script>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce</head>
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafsson
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafsson<body class="yui3-skin-sam">
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<h1>Cache Performance Tests</h1>
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafsson<p><select id="testSelector"></select> <input type="button" value="Run Test" id="btnRun" disabled=true></p>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce<script type="text/javascript">
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce(function() {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce YUI({
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce base: "/build/",
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce filter: "debug",
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce logInclude:{"perf":true, "cache":true},
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce useConsole: true
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafsson }).use("console", "profiler", "dump", "cache", function(Y) {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce // Set up the page
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce var BTNRUN = Y.one("#btnRun"),
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce myConsole = new Y.Console().render();
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce BTNRUN.set("disabled", false);
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Y.on("click", function(e){
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Y.example.Perf.run();
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce }, BTNRUN);
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Y.namespace("example").Perf = function() {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce var selectNode = Y.one("#testSelector"),
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce allTests = [];
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce return {
fcc9f7f86c2fa2ceb8a5c16dc934fea7fa6887f2Andreas Gustafsson init: function() {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce this.register("Test 'max' upper boundary", function() {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce var max = 100,
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce cache = new Y.Cache({max:max}),
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce i = 0;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce while(i<max) {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce cache.add(i, i+"");
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce i++;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce }
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce i = 0;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce while(i<max) {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce cache.retrieve(i);
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce i++;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce }
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce });
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce this.register("Test large item size", function() {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce var max = 5,
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce cache = new Y.Cache({max:max}),
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce i = 0,
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce item = "Lorem ipsum dolor sit amet consectetuer mus ut consequat consequat eget. Sed arcu mi Nam In Curabitur elit quis vitae tortor faucibus. Nunc faucibus ullamcorper orci mattis ornare ac ipsum laoreet Nam Quisque. Convallis mus sit tellus facilisis faucibus vitae leo nibh ante vel. Leo et mauris eu In Vivamus Sed pede Suspendisse nibh convallis. Eros interdum et wisi condimentum auctor felis augue id senectus parturient. At ipsum consequat Vivamus pellentesque molestie Quisque id sit leo auctor. Leo dictum consequat auctor consequat nibh est a ut vitae sem. Auctor laoreet Nunc cursus elit Nam malesuada laoreet Morbi Phasellus arcu. Nam Phasellus tellus tellus a eu nisl nec vel Vestibulum dictumst. Ut id nascetur magnis ullamcorper cursus elit vestibulum Morbi risus ut. Et molestie tincidunt condimentum ornare pede id mauris est Quisque mollis. Pellentesque wisi et nec nec at Nunc Ut wisi et nonummy. Ac nec nonummy lacus laoreet netus odio orci amet Aenean justo. Curabitur nibh Curabitur quis Donec morbi rhoncus id elit mollis Quisque. Nunc nibh ante ligula rutrum convallis quis natoque eu et nec. Ac egestas diam auctor id nisl eget lobortis Sed dignissim nibh. Diam pellentesque neque at pretium felis sit Sed In Pellentesque ante. Ut Nam nonummy et orci condimentum leo hendrerit velit faucibus nulla. Cursus In odio laoreet sollicitudin quis auctor dapibus nisl condimentum quis. Ante Curabitur Aenean pellentesque tortor Suspendisse tincidunt nunc arcu Pellentesque eu. Vestibulum turpis congue laoreet lacinia felis felis adipiscing orci eu Ut. Aenean Nam fringilla consectetuer Integer facilisis Vivamus non id ut sollicitudin. Congue et ullamcorper ipsum Fusce metus wisi dictum porta Donec dolor. Nunc justo vel justo In nibh sollicitudin netus non dui pede. Nulla leo Aenean et mauris justo nec congue enim eget nisl. Cursus vitae diam ipsum Curabitur laoreet vitae leo.Lorem ipsum dolor sit amet consectetuer mus ut consequat consequat eget. Sed arcu mi Nam In Curabitur elit quis vitae tortor faucibus. Nunc faucibus ullamcorper orci mattis ornare ac ipsum laoreet Nam Quisque. Convallis mus sit tellus facilisis faucibus vitae leo nibh ante vel. Leo et mauris eu In Vivamus Sed pede Suspendisse nibh convallis. Eros interdum et wisi condimentum auctor felis augue id senectus parturient. At ipsum consequat Vivamus pellentesque molestie Quisque id sit leo auctor. Leo dictum consequat auctor consequat nibh est a ut vitae sem. Auctor laoreet Nunc cursus elit Nam malesuada laoreet Morbi Phasellus arcu. Nam Phasellus tellus tellus a eu nisl nec vel Vestibulum dictumst. Ut id nascetur magnis ullamcorper cursus elit vestibulum Morbi risus ut. Et molestie tincidunt condimentum ornare pede id mauris est Quisque mollis. Pellentesque wisi et nec nec at Nunc Ut wisi et nonummy. Ac nec nonummy lacus laoreet netus odio orci amet Aenean justo. Curabitur nibh Curabitur quis Donec morbi rhoncus id elit mollis Quisque. Nunc nibh ante ligula rutrum convallis quis natoque eu et nec. Ac egestas diam auctor id nisl eget lobortis Sed dignissim nibh. Diam pellentesque neque at pretium felis sit Sed In Pellentesque ante. Ut Nam nonummy et orci condimentum leo hendrerit velit faucibus nulla. Cursus In odio laoreet sollicitudin quis auctor dapibus nisl condimentum quis. Ante Curabitur Aenean pellentesque tortor Suspendisse tincidunt nunc arcu Pellentesque eu. Vestibulum turpis congue laoreet lacinia felis felis adipiscing orci eu Ut. Aenean Nam fringilla consectetuer Integer facilisis Vivamus non id ut sollicitudin. Congue et ullamcorper ipsum Fusce metus wisi dictum porta Donec dolor. Nunc justo vel justo In nibh sollicitudin netus non dui pede. Nulla leo Aenean et mauris justo nec congue enim eget nisl. Cursus vitae diam ipsum Curabitur laoreet vitae leo.Lorem ipsum dolor sit amet consectetuer mus ut consequat consequat eget. Sed arcu mi Nam In Curabitur elit quis vitae tortor faucibus. Nunc faucibus ullamcorper orci mattis ornare ac ipsum laoreet Nam Quisque. Convallis mus sit tellus facilisis faucibus vitae leo nibh ante vel. Leo et mauris eu In Vivamus Sed pede Suspendisse nibh convallis. Eros interdum et wisi condimentum auctor felis augue id senectus parturient. At ipsum consequat Vivamus pellentesque molestie Quisque id sit leo auctor. Leo dictum consequat auctor consequat nibh est a ut vitae sem. Auctor laoreet Nunc cursus elit Nam malesuada laoreet Morbi Phasellus arcu. Nam Phasellus tellus tellus a eu nisl nec vel Vestibulum dictumst. Ut id nascetur magnis ullamcorper cursus elit vestibulum Morbi risus ut. Et molestie tincidunt condimentum ornare pede id mauris est Quisque mollis. Pellentesque wisi et nec nec at Nunc Ut wisi et nonummy. Ac nec nonummy lacus laoreet netus odio orci amet Aenean justo. Curabitur nibh Curabitur quis Donec morbi rhoncus id elit mollis Quisque. Nunc nibh ante ligula rutrum convallis quis natoque eu et nec. Ac egestas diam auctor id nisl eget lobortis Sed dignissim nibh. Diam pellentesque neque at pretium felis sit Sed In Pellentesque ante. Ut Nam nonummy et orci condimentum leo hendrerit velit faucibus nulla. Cursus In odio laoreet sollicitudin quis auctor dapibus nisl condimentum quis. Ante Curabitur Aenean pellentesque tortor Suspendisse tincidunt nunc arcu Pellentesque eu. Vestibulum turpis congue laoreet lacinia felis felis adipiscing orci eu Ut. Aenean Nam fringilla consectetuer Integer facilisis Vivamus non id ut sollicitudin. Congue et ullamcorper ipsum Fusce metus wisi dictum porta Donec dolor. Nunc justo vel justo In nibh sollicitudin netus non dui pede. Nulla leo Aenean et mauris justo nec congue enim eget nisl. Cursus vitae diam ipsum Curabitur laoreet vitae leo.Lorem ipsum dolor sit amet consectetuer mus ut consequat consequat eget. Sed arcu mi Nam In Curabitur elit quis vitae tortor faucibus. Nunc faucibus ullamcorper orci mattis ornare ac ipsum laoreet Nam Quisque. Convallis mus sit tellus facilisis faucibus vitae leo nibh ante vel. Leo et mauris eu In Vivamus Sed pede Suspendisse nibh convallis. Eros interdum et wisi condimentum auctor felis augue id senectus parturient. At ipsum consequat Vivamus pellentesque molestie Quisque id sit leo auctor. Leo dictum consequat auctor consequat nibh est a ut vitae sem. Auctor laoreet Nunc cursus elit Nam malesuada laoreet Morbi Phasellus arcu. Nam Phasellus tellus tellus a eu nisl nec vel Vestibulum dictumst. Ut id nascetur magnis ullamcorper cursus elit vestibulum Morbi risus ut. Et molestie tincidunt condimentum ornare pede id mauris est Quisque mollis. Pellentesque wisi et nec nec at Nunc Ut wisi et nonummy. Ac nec nonummy lacus laoreet netus odio orci amet Aenean justo. Curabitur nibh Curabitur quis Donec morbi rhoncus id elit mollis Quisque. Nunc nibh ante ligula rutrum convallis quis natoque eu et nec. Ac egestas diam auctor id nisl eget lobortis Sed dignissim nibh. Diam pellentesque neque at pretium felis sit Sed In Pellentesque ante. Ut Nam nonummy et orci condimentum leo hendrerit velit faucibus nulla. Cursus In odio laoreet sollicitudin quis auctor dapibus nisl condimentum quis. Ante Curabitur Aenean pellentesque tortor Suspendisse tincidunt nunc arcu Pellentesque eu. Vestibulum turpis congue laoreet lacinia felis felis adipiscing orci eu Ut. Aenean Nam fringilla consectetuer Integer facilisis Vivamus non id ut sollicitudin. Congue et ullamcorper ipsum Fusce metus wisi dictum porta Donec dolor. Nunc justo vel justo In nibh sollicitudin netus non dui pede. Nulla leo Aenean et mauris justo nec congue enim eget nisl. Cursus vitae diam ipsum Curabitur laoreet vitae leo.";
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce while(i<max) {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce cache.add(i, item);
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce i++;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce }
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce i = 0;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce while(i<max) {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce cache.retrieve(i);
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce i++;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce }
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce });
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce },
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce register: function(testName, testFn) {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce var index = allTests.length;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce allTests[index] = testFn;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce var optionEl = document.createElement("option");
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce optionEl.innerHTML = "Test " + index + ": " + testName;
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce selectNode.appendChild(optionEl);
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce },
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce run: function() {
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce var whichTest = selectNode.get("selectedIndex");
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Y.log("Starting Test " + whichTest, "info", "perf");
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce allTests[whichTest].apply(this);
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce Y.log("Test " + whichTest + " completed", "info", "perf");
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce }
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce }
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce }();
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f37eb9482057adf62de35e634bfd574e59676950Andreas Gustafsson Y.example.Perf.init();
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce });
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce})();
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce</script>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce</body>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce</html>
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce