mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Tests: Remove obsolete speed directory
Closes gh-1551
This commit is contained in:
parent
d3c1ce9c24
commit
9ad6e7e93e
@ -1,15 +0,0 @@
|
|||||||
// Runs a function many times without the function call overhead
|
|
||||||
function benchmark(fn, times, name){
|
|
||||||
fn = fn.toString();
|
|
||||||
var s = fn.indexOf('{')+1,
|
|
||||||
e = fn.lastIndexOf('}');
|
|
||||||
fn = fn.substring(s,e);
|
|
||||||
|
|
||||||
return benchmarkString(fn, times, name);
|
|
||||||
}
|
|
||||||
|
|
||||||
function benchmarkString(fn, times, name) {
|
|
||||||
var fn = new Function("i", "var t=new Date; while(i--) {" + fn + "}; return new Date - t")(times)
|
|
||||||
fn.displayName = name || "benchmarked";
|
|
||||||
return fn;
|
|
||||||
}
|
|
@ -1,65 +0,0 @@
|
|||||||
|
|
||||||
.dialog {
|
|
||||||
margin-bottom: 1em;
|
|
||||||
}
|
|
||||||
a.expand {
|
|
||||||
background: #e3e3e3;
|
|
||||||
}
|
|
||||||
|
|
||||||
div#time-test {
|
|
||||||
font-family: Arial, Helvetica, sans-serif;
|
|
||||||
font-size: 62.5%;
|
|
||||||
}
|
|
||||||
|
|
||||||
td.test button {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
table {
|
|
||||||
border: 1px solid #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
table td, table th {
|
|
||||||
border: 1px solid #000;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
td.winner {
|
|
||||||
background-color: #cfc;
|
|
||||||
}
|
|
||||||
|
|
||||||
td.tie {
|
|
||||||
background-color: #ffc;
|
|
||||||
}
|
|
||||||
|
|
||||||
td.fail {
|
|
||||||
background-color: #f99;
|
|
||||||
font-weight: bold;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
tfoot td {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#time-test {
|
|
||||||
margin: 1em 0;
|
|
||||||
padding: .5em;
|
|
||||||
background: #e3e3e3;
|
|
||||||
}
|
|
||||||
#time-taken {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.wins {
|
|
||||||
color: #330;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.fails {
|
|
||||||
color: #900;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.buttons {
|
|
||||||
margin-top: 10px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
@ -1,181 +0,0 @@
|
|||||||
jQuery.benchmarker.tests = [
|
|
||||||
// Selectors from:
|
|
||||||
// http://ejohn.org/blog/selectors-that-people-actually-use/
|
|
||||||
/*
|
|
||||||
// For Amazon.com
|
|
||||||
"#navAmazonLogo", "#navSwmSkedPop",
|
|
||||||
".navbar", ".navGreeting",
|
|
||||||
"div", "table",
|
|
||||||
"img.navCrossshopTabCap", "span.navGreeting",
|
|
||||||
"#navbar table", "#navidWelcomeMsg span",
|
|
||||||
"div#navbar", "ul#navAmazonLogo",
|
|
||||||
"#navAmazonLogo .navAmazonLogoGatewayPanel", "#navidWelcomeMsg .navGreeting",
|
|
||||||
".navbar .navAmazonLogoGatewayPanel", ".navbar .navGreeting",
|
|
||||||
"*",
|
|
||||||
"#navAmazonLogo li.navAmazonLogoGatewayPanel", "#navidWelcomeMsg span.navGreeting",
|
|
||||||
"a[name=top]", "form[name=site-search]",
|
|
||||||
".navbar li", ".navbar span",
|
|
||||||
"[name=top]", "[name=site-search]",
|
|
||||||
"ul li", "a img",
|
|
||||||
"#navbar #navidWelcomeMsg", "#navbar #navSwmDWPop",
|
|
||||||
"#navbar ul li", "#navbar a img"
|
|
||||||
*/
|
|
||||||
// For Yahoo.com
|
|
||||||
"#page", "#masthead", "#mastheadhd",
|
|
||||||
".mastheadbd", ".first", ".on",
|
|
||||||
"div", "li", "a",
|
|
||||||
"div.mastheadbd", "li.first", "li.on",
|
|
||||||
"#page div", "#dtba span",
|
|
||||||
"div#page", "div#masthead",
|
|
||||||
"#page .mastheadbd", "#page .first",
|
|
||||||
".outer_search_container .search_container", ".searchbox_container .inputtext",
|
|
||||||
"*",
|
|
||||||
"#page div.mastheadbd", "#page li.first",
|
|
||||||
"input[name=p]", "a[name=marketplace]",
|
|
||||||
".outer_search_container div", ".searchbox_container span",
|
|
||||||
"[name=p]", "[name=marketplace]",
|
|
||||||
"ul li", "form input",
|
|
||||||
"#page #e2econtent", "#page #e2e"
|
|
||||||
];
|
|
||||||
|
|
||||||
jQuery.fn.benchmark = function() {
|
|
||||||
this.each(function() {
|
|
||||||
try {
|
|
||||||
jQuery(this).parent().children("*:gt(1)").remove();
|
|
||||||
} catch(e) { }
|
|
||||||
})
|
|
||||||
// set # times to run the test in index.html
|
|
||||||
var times = parseInt(jQuery("#times").val());
|
|
||||||
jQuery.benchmarker.startingList = this.get();
|
|
||||||
benchmark(this.get(), times, jQuery.benchmarker.libraries);
|
|
||||||
}
|
|
||||||
|
|
||||||
jQuery(function() {
|
|
||||||
for(i = 0; i < jQuery.benchmarker.tests.length; i++) {
|
|
||||||
jQuery("tbody").append("<tr><td class='test'>" + jQuery.benchmarker.tests[i] + "</td></tr>");
|
|
||||||
}
|
|
||||||
jQuery("tbody tr:first-child").remove();
|
|
||||||
jQuery("td.test").before("<td><input type='checkbox' checked='checked' /></td>");
|
|
||||||
jQuery("button.runTests").bind("click", function() {
|
|
||||||
jQuery('td:has(input:checked) + td.test').benchmark();
|
|
||||||
});
|
|
||||||
|
|
||||||
jQuery("button.retryTies").bind("click", function() { jQuery("tr:has(td.tie) td.test").benchmark() })
|
|
||||||
|
|
||||||
jQuery("button.selectAll").bind("click", function() { jQuery("input[type=checkbox]").each(function() { this.checked = true }) })
|
|
||||||
jQuery("button.deselectAll").bind("click", function() { jQuery("input[type=checkbox]").each(function() { this.checked = false }) })
|
|
||||||
|
|
||||||
jQuery("#addTest").bind("click", function() {
|
|
||||||
jQuery("table").append("<tr><td><input type='checkbox' /></td><td><input type='text' /><button>Add</button></td></tr>");
|
|
||||||
jQuery("div#time-test > button").each(function() { this.disabled = true; })
|
|
||||||
jQuery("tbody tr:last button").bind("click", function() {
|
|
||||||
var td = jQuery(this).parent();
|
|
||||||
td.html("<button>-</button>" + jQuery(this).prev().val()).addClass("test");
|
|
||||||
jQuery("div#time-test > button").each(function() { this.disabled = false; })
|
|
||||||
jQuery("button", td).bind("click", function() { jQuery(this).parents("tr").remove(); })
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
var headers = jQuery.map(jQuery.benchmarker.libraries, function(i,n) {
|
|
||||||
var extra = n == 0 ? "basis - " : "";
|
|
||||||
return "<th>" + extra + i + "</th>"
|
|
||||||
}).join("");
|
|
||||||
|
|
||||||
jQuery("thead tr").append(headers);
|
|
||||||
|
|
||||||
var footers = "";
|
|
||||||
for(i = 0; i < jQuery.benchmarker.libraries.length; i++)
|
|
||||||
footers += "<th></th>"
|
|
||||||
|
|
||||||
var wlfooters = "";
|
|
||||||
for(i = 0; i < jQuery.benchmarker.libraries.length; i++)
|
|
||||||
wlfooters += "<td><span class='wins'>W</span> / <span class='fails'>F</span></th>"
|
|
||||||
|
|
||||||
jQuery("tfoot tr:first").append(footers);
|
|
||||||
jQuery("tfoot tr:last").append(wlfooters);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
benchmark = function(list, times, libraries) {
|
|
||||||
if(list[0]) {
|
|
||||||
var times = times || 50;
|
|
||||||
var el = list[0];
|
|
||||||
var code = jQuery(el).text().replace(/^-/, "");
|
|
||||||
var timeArr = []
|
|
||||||
for(i = 0; i < times + 2; i++) {
|
|
||||||
var time = new Date()
|
|
||||||
try {
|
|
||||||
window[libraries[0]](code);
|
|
||||||
} catch(e) { }
|
|
||||||
timeArr.push(new Date() - time);
|
|
||||||
}
|
|
||||||
var diff = Math.sum(timeArr) - Math.max.apply( Math, timeArr )
|
|
||||||
- Math.min.apply( Math, timeArr );
|
|
||||||
try {
|
|
||||||
var libRes = window[libraries[0]](code);
|
|
||||||
var jqRes = jQuery(code);
|
|
||||||
if(((jqRes.length == 0) && (libRes.length != 0)) ||
|
|
||||||
(libRes.length > 0 && (jqRes.length == libRes.length)) ||
|
|
||||||
((libraries[0] == "cssQuery" || libraries[0] == "jQuery") && code.match(/nth\-child/) && (libRes.length > 0)) ||
|
|
||||||
((libraries[0] == "jQold") && jqRes.length > 0)) {
|
|
||||||
jQuery(el).parent().append("<td>" + Math.round(diff / times * 100) / 100 + "ms</td>");
|
|
||||||
} else {
|
|
||||||
jQuery(el).parent().append("<td class='fail'>FAIL</td>");
|
|
||||||
}
|
|
||||||
} catch(e) {
|
|
||||||
jQuery(el).parent().append("<td class='fail'>FAIL</td>");
|
|
||||||
}
|
|
||||||
setTimeout(benchmarkList(list, times, libraries), 100);
|
|
||||||
} else if(libraries[1]) {
|
|
||||||
benchmark(jQuery.benchmarker.startingList, times, libraries.slice(1));
|
|
||||||
} else {
|
|
||||||
jQuery("tbody tr").each(function() {
|
|
||||||
var winners = jQuery("td:gt(1)", this).min(2);
|
|
||||||
if(winners.length == 1) winners.addClass("winner");
|
|
||||||
else winners.addClass("tie");
|
|
||||||
});
|
|
||||||
setTimeout(count, 100);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function benchmarkList(list, times, libraries) {
|
|
||||||
return function() {
|
|
||||||
benchmark(list.slice(1), times, libraries);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function count() {
|
|
||||||
for(i = 3; i <= jQuery.benchmarker.libraries.length + 2 ; i++) {
|
|
||||||
var fails = jQuery("td:nth-child(" + i + ").fail").length;
|
|
||||||
var wins = jQuery("td:nth-child(" + i + ").winner").length;
|
|
||||||
jQuery("tfoot tr:first th:eq(" + (i - 1) + ")")
|
|
||||||
.html("<span class='wins'>" + wins + "</span> / <span class='fails'>" + fails + "</span>");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
jQuery.fn.maxmin = function(tolerance, maxmin, percentage) {
|
|
||||||
tolerance = tolerance || 0;
|
|
||||||
var target = Math[maxmin].apply(Math, jQuery.map(this, function(i) {
|
|
||||||
var parsedNum = parseFloat(i.innerHTML.replace(/[^\.\d]/g, ""));
|
|
||||||
if(parsedNum || (parsedNum == 0)) return parsedNum;
|
|
||||||
}));
|
|
||||||
return this.filter(function() {
|
|
||||||
if( withinTolerance(parseFloat(this.innerHTML.replace(/[^\.\d]/g, "")), target, tolerance, percentage) ) return true;
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
jQuery.fn.max = function(tolerance, percentage) { return this.maxmin(tolerance, "max", percentage) }
|
|
||||||
jQuery.fn.min = function(tolerance, percentage) { return this.maxmin(tolerance, "min", percentage) }
|
|
||||||
|
|
||||||
function withinTolerance(number, target, tolerance, percentage) {
|
|
||||||
if(percentage) { var high = target + ((tolerance / 100) * target); var low = target - ((tolerance / 100) * target); }
|
|
||||||
else { var high = target + tolerance; var low = target - tolerance; }
|
|
||||||
if(number >= low && number <= high) return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
Math.sum = function(arr) {
|
|
||||||
var sum = 0;
|
|
||||||
for(i = 0; i < arr.length; i++) sum += arr[i];
|
|
||||||
return sum;
|
|
||||||
}
|
|
@ -1,39 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Test .closest() Performance</title>
|
|
||||||
<script src="benchmark.js"></script>
|
|
||||||
<script src="jquery-basis.js"></script>
|
|
||||||
<script>var old = jQuery.noConflict(true);</script>
|
|
||||||
<script src="../dist/jquery.js"></script>
|
|
||||||
<script>
|
|
||||||
jQuery(function ready() {
|
|
||||||
var node = $("#child"), name;
|
|
||||||
|
|
||||||
jQuery.each([".zoo", "#zoo", "[data-foo=zoo]", "#nonexistant"], function(i, item) {
|
|
||||||
setTimeout(function(){
|
|
||||||
name = "closest '" + item + "'";
|
|
||||||
|
|
||||||
jQuery("#results").append("<li>" + name + "<ul>" +
|
|
||||||
"<li>new: " + benchmarkString("$('#child').closest('" + item + "')", 2500, name) + "</li>" +
|
|
||||||
"<li>old: " + benchmarkString("old('#child').closest('" + item + "')", 2500, name) + "</li>"
|
|
||||||
+ "</ul></li>");
|
|
||||||
}, 100);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div>
|
|
||||||
<p>Hello</p>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar">
|
|
||||||
<div>
|
|
||||||
<p id="child">lorem ipsum</p>
|
|
||||||
<p>dolor sit amet</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<ul id="results"></ul>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,82 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Test Event Handling Performance</title>
|
|
||||||
<script src="benchmark.js"></script>
|
|
||||||
<script src="jquery-basis.js"></script>
|
|
||||||
<script>var old = jQuery.noConflict(true);</script>
|
|
||||||
<script src="../dist/jquery.js"></script>
|
|
||||||
<script>
|
|
||||||
var num = 400;
|
|
||||||
|
|
||||||
jQuery(function(){
|
|
||||||
var p = old("p");
|
|
||||||
var s = (new Date).getTime();
|
|
||||||
|
|
||||||
for ( var n = 0; n < 5; n++ ) {
|
|
||||||
for ( var i = 0; i < num; i++ ) {
|
|
||||||
p.css("position");
|
|
||||||
p.css("top");
|
|
||||||
p.css("left");
|
|
||||||
p.css("display");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var oldNum = (new Date).getTime() - s;
|
|
||||||
|
|
||||||
p = jQuery("p");
|
|
||||||
s = (new Date).getTime();
|
|
||||||
|
|
||||||
for ( var n = 0; n < 5; n++ ) {
|
|
||||||
for ( var i = 0; i < num; i++ ) {
|
|
||||||
p.css("position");
|
|
||||||
p.css("top");
|
|
||||||
p.css("left");
|
|
||||||
p.css("display");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var curNum = (new Date).getTime() - s;
|
|
||||||
|
|
||||||
jQuery("#num").text( old.fn.jquery + ": " + oldNum + " " + jQuery.fn.jquery + ": " + curNum );
|
|
||||||
});
|
|
||||||
|
|
||||||
jQuery(function(){
|
|
||||||
var p = old("p");
|
|
||||||
var s = (new Date).getTime();
|
|
||||||
|
|
||||||
for ( var n = 0; n < 5; n++ ) {
|
|
||||||
for ( var i = 0; i < num; i++ ) {
|
|
||||||
p.css("position", "relative");
|
|
||||||
p.css("top", 15);
|
|
||||||
p.css("left", 15);
|
|
||||||
p.css("display", "block");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var oldNum = (new Date).getTime() - s;
|
|
||||||
|
|
||||||
p = jQuery("p");
|
|
||||||
s = (new Date).getTime();
|
|
||||||
|
|
||||||
for ( var n = 0; n < 5; n++ ) {
|
|
||||||
for ( var i = 0; i < num; i++ ) {
|
|
||||||
p.css("position", "relative");
|
|
||||||
p.css("top", 15);
|
|
||||||
p.css("left", 15);
|
|
||||||
p.css("display", "block");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var curNum = (new Date).getTime() - s;
|
|
||||||
|
|
||||||
jQuery("#num2").text( old.fn.jquery + ": " + oldNum + " " + jQuery.fn.jquery + ": " + curNum );
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<style>p { position: absolute; top: 5px; left: 5px; }</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p><strong>Getting Values:</strong> <span id="num">Loading...</span></p>
|
|
||||||
<p><strong>Setting Values:</strong> <span id="num2">Loading...</span></p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,58 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Test Event Handling Performance</title>
|
|
||||||
<script src="benchmark.js"></script>
|
|
||||||
<script src="jquery-basis.js"></script>
|
|
||||||
<script>var old = jQuery.noConflict(true);</script>
|
|
||||||
<script src="../dist/jquery.js"></script>
|
|
||||||
<script>
|
|
||||||
jQuery(function(){
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
var events = [], num = 400, exec = false;
|
|
||||||
|
|
||||||
jQuery(document).mousemove(function(e){
|
|
||||||
if ( exec ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( events.length >= num ) {
|
|
||||||
exec = true;
|
|
||||||
var s = (new Date).getTime();
|
|
||||||
|
|
||||||
for ( var n = 0; n < 5; n++ ) {
|
|
||||||
for ( var i = 0; i < num; i++ ) {
|
|
||||||
old.event.handle.call( document, events[i] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var oldNum = (new Date).getTime() - s;
|
|
||||||
|
|
||||||
s = (new Date).getTime();
|
|
||||||
|
|
||||||
for ( var n = 0; n < 5; n++ ) {
|
|
||||||
for ( var i = 0; i < num; i++ ) {
|
|
||||||
jQuery.event.handle.call( document, events[i] );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var curNum = (new Date).getTime() - s;
|
|
||||||
|
|
||||||
jQuery("#num").text( old.fn.jquery + ": " + oldNum + " " + jQuery.fn.jquery + ": " + curNum );
|
|
||||||
|
|
||||||
jQuery(this).unbind( "mousemove", e.handler );
|
|
||||||
|
|
||||||
} else {
|
|
||||||
events.push( e.originalEvent );
|
|
||||||
jQuery("#num").text( events.length + " / " + num );
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<p>Move the mouse, please!</p>
|
|
||||||
<p id="num"></p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,183 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Test .filter() Performance</title>
|
|
||||||
<script src="benchmark.js"></script>
|
|
||||||
<script src="jquery-basis.js"></script>
|
|
||||||
<script>var old = jQuery.noConflict(true);</script>
|
|
||||||
<script src="../dist/jquery.js"></script>
|
|
||||||
<script>
|
|
||||||
jQuery(function ready() {
|
|
||||||
var node = $("#child"), name;
|
|
||||||
|
|
||||||
jQuery.each([".zoo", "#zoo", "[data-foo=zoo]", "#nonexistant"], function(i, item) {
|
|
||||||
setTimeout(function(){
|
|
||||||
name = "filter '" + item + "'";
|
|
||||||
jQuery("#results").append("<li>" + name + "<ul>" +
|
|
||||||
"<li>new: " + benchmarkString("$('div').filter('" + item + "')", 100, name) + "</li>" +
|
|
||||||
"<li>old: " + benchmarkString("old('div').filter('" + item + "')", 100, name) + "</li>" +
|
|
||||||
"</ul></li>");
|
|
||||||
jQuery("#results").append("<li>single " + name + "<ul>" +
|
|
||||||
"<li>new: " + benchmarkString("$('#nonexistant').filter('" + item + "')", 1000, name) + "</li>" +
|
|
||||||
"<li>old: " + benchmarkString("old('#nonexistant').filter('" + item + "')", 1000, name) + "</li>" +
|
|
||||||
"</ul></li>");
|
|
||||||
}, 100);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div>
|
|
||||||
<p>Hello</p>
|
|
||||||
<div class="zoo" id="nonexistant" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
</div>
|
|
||||||
<ul id="results"></ul>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
179
speed/find.html
179
speed/find.html
@ -1,179 +0,0 @@
|
|||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Test .find() Performance</title>
|
|
||||||
<script src="benchmark.js"></script>
|
|
||||||
<script src="jquery-basis.js"></script>
|
|
||||||
<script>var old = jQuery.noConflict(true);</script>
|
|
||||||
<script src="../dist/jquery.js"></script>
|
|
||||||
<script>
|
|
||||||
jQuery(function ready() {
|
|
||||||
var node = $("#child"), name;
|
|
||||||
|
|
||||||
jQuery.each([".zoo", "#zoo", "[data-foo=zoo]", "#nonexistant"], function(i, item) {
|
|
||||||
setTimeout(function(){
|
|
||||||
name = "find '" + item + "'";
|
|
||||||
jQuery("#results").append("<li>rooted " + name + "<ul>" +
|
|
||||||
"<li>new: " + benchmarkString("$('body').find('" + item + "')", 250, name) + "</li>" +
|
|
||||||
"<li>old: " + benchmarkString("old('body').find('" + item + "')", 250, name) + "</li>" +
|
|
||||||
"</ul></li>");
|
|
||||||
}, 100);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div>
|
|
||||||
<p>Hello</p>
|
|
||||||
<div class="zoo" id="nonexistant" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
<div class="zoo" id="zoo" data-foo="bar"><div></div></div>
|
|
||||||
</div>
|
|
||||||
<ul id="results"></ul>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
6238
speed/jquery-basis.js
vendored
6238
speed/jquery-basis.js
vendored
File diff suppressed because it is too large
Load Diff
@ -1,47 +0,0 @@
|
|||||||
<script type="text/javascript">
|
|
||||||
(function(){
|
|
||||||
// Conclusions:
|
|
||||||
// slice() is a little faster than concat() except on Chrome
|
|
||||||
// This clone() is slower on FF & IE but takes 50% on Safari & Chrome
|
|
||||||
|
|
||||||
var SIZE = 1e4,
|
|
||||||
LOOPS = 500;
|
|
||||||
|
|
||||||
var arr = new Array(SIZE);
|
|
||||||
for ( var i = arr.length - 1; i >= 0; --i )
|
|
||||||
arr[i] = 0;
|
|
||||||
|
|
||||||
var t = new Date;
|
|
||||||
for ( i = 0; i < LOOPS; i++ )
|
|
||||||
arr.slice(0);
|
|
||||||
var tslice = new Date - t;
|
|
||||||
|
|
||||||
t = new Date;
|
|
||||||
for ( i = 0; i < LOOPS; i++ )
|
|
||||||
arr.concat();
|
|
||||||
var tconcat = new Date - t;
|
|
||||||
|
|
||||||
// clone() is just to see how fast built-ins are
|
|
||||||
t = new Date;
|
|
||||||
for ( i = 0; i < LOOPS; i++ )
|
|
||||||
clone(arr);
|
|
||||||
var tclone = new Date - t;
|
|
||||||
|
|
||||||
alert([
|
|
||||||
'slice:'+tslice,
|
|
||||||
'concat:'+tconcat,
|
|
||||||
'clone:'+tclone
|
|
||||||
].join('\n'));
|
|
||||||
|
|
||||||
|
|
||||||
function clone(arr){
|
|
||||||
var i = arr.length,
|
|
||||||
copy = new Array(i);
|
|
||||||
|
|
||||||
while (i--)
|
|
||||||
copy[i] = arr[i];
|
|
||||||
|
|
||||||
return copy;
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
</script>
|
|
Loading…
Reference in New Issue
Block a user