$(this) or collection-faking
JavaScript performance comparison
Info
Testing/profiling the code patterns from the Script Junkie article "(pre)Maturely Optimize Your JavaScript"
http://msdn.microsoft.com/en-us/scriptjunkie/gg622887.aspx
Snippet comparison #3
Preparation code
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<style>
.foo { color:blue; }
.other { color:red; }
</style>
<p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p><p><a href="#">link</a> blah</p><p><a href="#" rel="foo">link</a> blah</p><p><a href="#" rel="bar">link</a> blah</p><p><a href="#" rel="wee">link</a> blah</p>
<script>
var $a = $(1);
</script>
Preparation code output
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
link blah
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
| Test | Ops/sec | |
|---|---|---|
$(this) |
|
pending… |
$a.context = $a[0] = this |
|
pending… |
Compare results of other browsers
Revisions
You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:
- Revision 1: published by Kyle Simpson and last updated
- Revision 5: published by Rick Waldron
- Revision 6: published by Kyle Simpson
- Revision 8: published by Paul Grenier
1 comment
this revision fixes an error in the previous one where $(0) doesn't give a good re-usable single-element collection, but $(1) does.