cache-perf.html revision 6e89f0a006cdbb50151504b3107096e365136687
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
205c10066a0acfeac52d1a135671f41d207b8557Automatic Updater<html>
205c10066a0acfeac52d1a135671f41d207b8557Automatic Updater<head>
1167fc7904c5f0a472f8df207ac46dd52c7f1ec8Automatic Updater<title>Cache Tests</title>
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater<script type="text/javascript" src="/build/yui/yui.js"></script>
46da3117812814a29432a8d9a9ccf8acdbfdadceAutomatic Updater</head>
2bb3422dc683c013db7042f5736240de6b86f182Automatic Updater
cd0aa2d941d1438fabb5337f1f38c49478edf71dAutomatic Updater<body class="yui-skin-sam">
2ec4ab21838e218863d052ebfa3e106e04f50820Evan Hunt<h1>Cache Performance Tests</h1>
ea854b585041ad19f70f7af15e08144ef2c2bd1bMark Andrews<p><select id="testSelector"></select> <input type="button" value="Run Test" id="btnRun" disabled=true></p>
78cb74fab4665da2e2641ba909c6f59f74cc4193Automatic Updater
cd0aa2d941d1438fabb5337f1f38c49478edf71dAutomatic Updater<script type="text/javascript">
90ff38a0d8deaf5f9c2aa5916d99b2e572d28738Automatic Updater(function() {
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington YUI({
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews base: "/build/",
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater filter: "debug",
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington logInclude:{"perf":true, "cache":true},
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater useConsole: true
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater }).use("console", "profiler", "dump", "cache", function(Y) {
56874aef380a64a2c183b7c282c3e7a361d67fa1Automatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews // Set up the page
58be84825d7f5de30e50eb7206b37227ecd8055bAutomatic Updater var BTNRUN = Y.get("#btnRun"),
3cc98b8ecedcbc8465f1cf2740b966b315662430Automatic Updater myConsole = new Y.Console().render();
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
96713299d08c0735c18ebe8772dd2cc1ecd4356aAutomatic Updater BTNRUN.set("disabled", false);
831f79c4310a7d38fc3475ccfff531b2b2535641Automatic Updater Y.on("click", function(e){
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Y.example.Perf.run();
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater }, BTNRUN);
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater Y.namespace("example").Perf = function() {
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson var selectNode = Y.get("#testSelector"),
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater allTests = [];
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson return {
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater init: function() {
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater this.register("Test 'max' upper boundary", function() {
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater var max = 100,
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt cache = new Y.Cache({max:max}),
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater i = 0;
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt while(i<max) {
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater cache.add(i, i+"");
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater i++;
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater }
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt
2d2dc37599979c83495510f8af8d1756753aa2c5Automatic Updater i = 0;
2d2dc37599979c83495510f8af8d1756753aa2c5Automatic Updater while(i<max) {
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt cache.retrieve(i);
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater i++;
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater }
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater });
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater this.register("Test large item size", function() {
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater var max = 5,
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater cache = new Y.Cache({max:max}),
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater i = 0,
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater 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.";
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater while(i<max) {
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews cache.add(i, item);
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews i++;
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews }
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater i = 0;
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews while(i<max) {
129090f0f6f91753b4a085ab635e28549fd018adAutomatic Updater cache.retrieve(i);
129090f0f6f91753b4a085ab635e28549fd018adAutomatic Updater i++;
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews }
d7a77415c13bb2fc2d1acb857486d97e4466e3b8Automatic Updater });
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews },
db5b7e2cdf150c46e8242d3e2e3ad3f5c7300258Automatic Updater
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater register: function(testName, testFn) {
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews var index = allTests.length;
1a06700908f5a1d9f4a8d51285a0fd971e2f9117Automatic Updater allTests[index] = testFn;
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
db5b7e2cdf150c46e8242d3e2e3ad3f5c7300258Automatic Updater var optionEl = document.createElement("option");
693c4232dfdffaff672197d4b9fea944c64cf80aAutomatic Updater optionEl.innerHTML = "Test " + index + ": " + testName;
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews selectNode.appendChild(optionEl);
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater },
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater run: function() {
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater var whichTest = selectNode.get("selectedIndex");
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews Y.log("Starting Test " + whichTest, "info", "perf");
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater allTests[whichTest].apply(this);
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson Y.log("Test " + whichTest + " completed", "info", "perf");
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater }
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater }
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson }();
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater Y.example.Perf.init();
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater });
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews})();
b1265b5a06df36d490d4bdf54284fb133a1f5a84Automatic Updater</script>
9174e44c14b1cb91a651fa1dc29470438c246ab9Automatic Updater</body>
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews</html>
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont