<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Querying the DOM on the Sly</title>
	<atom:link href="http://ajaxian.com/archives/querying-the-dom-on-the-sly/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 09 Feb 2012 06:55:33 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272401</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Sun, 29 Mar 2009 06:30:17 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272401</guid>
		<description>&lt;blockquote&gt; Benchmarks can be computations/time or time/computation, telling that one of these patterns would be totally useless blow it out of all proportions.&lt;/blockquote&gt; It&#039;s not that one method is useless, it&#039;s that it&#039;s impossible to measure accurately in any browser but Chrome, and even then only to a resolution of 1 ms. In contrast, measuring operations per second gives you a great deal more accuracy, and also a great deal more distinction between sub-ms timing. Something that runs 0.01 ms takes 1/90 the time of something running 0.9 ms (using slightlyoff&#039;s example), but are reported identically in a ms/op scenario. Obviously the distinction in this case is minute... until you run thousands of like operations in one go.

If the information gleaned from benchmarks is important, then the information gleaned from the more accurate benchmark is more important than otherwise.</description>
		<content:encoded><![CDATA[<blockquote><p> Benchmarks can be computations/time or time/computation, telling that one of these patterns would be totally useless blow it out of all proportions.</p></blockquote>
<p> It&#8217;s not that one method is useless, it&#8217;s that it&#8217;s impossible to measure accurately in any browser but Chrome, and even then only to a resolution of 1 ms. In contrast, measuring operations per second gives you a great deal more accuracy, and also a great deal more distinction between sub-ms timing. Something that runs 0.01 ms takes 1/90 the time of something running 0.9 ms (using slightlyoff&#8217;s example), but are reported identically in a ms/op scenario. Obviously the distinction in this case is minute&#8230; until you run thousands of like operations in one go.</p>
<p>If the information gleaned from benchmarks is important, then the information gleaned from the more accurate benchmark is more important than otherwise.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: digitarald</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272395</link>
		<dc:creator>digitarald</dc:creator>
		<pubDate>Sat, 28 Mar 2009 02:11:14 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272395</guid>
		<description>@travisalmand Testing in browsers that have the querySelectorAll is of course more fun, but *real* engine results come in the other browers or when you use the &quot;DOM Fragment&quot; case (where qsa doesn&#039;t work). And yes, JavaScript performance depends on the browser ...

@slightlyoff/eyelidlessness: Benchmarks can be computations/time or time/computation, telling that one of these patterns would be totally useless blow it out of all proportions. But henceforward I will also check the numbers with computations/ms. (gotta say thanks for sharing your benchmarking wisdom, as I asked for it)

I also did not add the latest acme (but dojo) because it returned several 0-results (for simple id selectors) and made the results useless (so much I learned about benchmarks in school, but I&#039;m still trying to find my old notes). Maybe you can point me to a working version. Sizzle was not that different, in comparison to jQuery, since my jq tests already used jQuery.find (alias for Sizzle).

@sixtyseconds: Using a selector more than 10 times (or more) in a short period of time would have various common reasons. First of all is event delegation, which is more and more used (selectors  are matched against a bubbling event). Think also about ideas like LiveQuery from jq, which queries the dom in a short interval for new elements. The same would happen when you use a simple query like &quot;.title&quot; in a loop on a list of elements. Today, many developers (usually programmer background) also overuse selectors, without thinking of the bottle neck situations.</description>
		<content:encoded><![CDATA[<p>@travisalmand Testing in browsers that have the querySelectorAll is of course more fun, but *real* engine results come in the other browers or when you use the &#8220;DOM Fragment&#8221; case (where qsa doesn&#8217;t work). And yes, JavaScript performance depends on the browser &#8230;</p>
<p>@slightlyoff/eyelidlessness: Benchmarks can be computations/time or time/computation, telling that one of these patterns would be totally useless blow it out of all proportions. But henceforward I will also check the numbers with computations/ms. (gotta say thanks for sharing your benchmarking wisdom, as I asked for it)</p>
<p>I also did not add the latest acme (but dojo) because it returned several 0-results (for simple id selectors) and made the results useless (so much I learned about benchmarks in school, but I&#8217;m still trying to find my old notes). Maybe you can point me to a working version. Sizzle was not that different, in comparison to jQuery, since my jq tests already used jQuery.find (alias for Sizzle).</p>
<p>@sixtyseconds: Using a selector more than 10 times (or more) in a short period of time would have various common reasons. First of all is event delegation, which is more and more used (selectors  are matched against a bubbling event). Think also about ideas like LiveQuery from jq, which queries the dom in a short interval for new elements. The same would happen when you use a simple query like &#8220;.title&#8221; in a loop on a list of elements. Today, many developers (usually programmer background) also overuse selectors, without thinking of the bottle neck situations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: slightlyoff</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272394</link>
		<dc:creator>slightlyoff</dc:creator>
		<pubDate>Sat, 28 Mar 2009 02:04:00 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272394</guid>
		<description>sixtyseconds:

most browsers (save Chrome, as eyelidlessness said) don&#039;t have fine-resolution timers. That means that if your function runs in 0.9 ms and mine runs in 0.01ms, they both report as &quot;0ms&quot;. The point of doing enough iterations is to show what heavy usage of the selector engine will *really* look like in relative terms. Cumulative numbers (like slickspeed generates at the bottom) aren&#039;t good for anything else anyway.

The objection is about methodological accuracy. Slickspeed is b0rked in this regard, but pumping up the # of revs gives you a simple way to address the timer resolution issue. NOT doing it simply obsfucates actual comparative performance.

Regards</description>
		<content:encoded><![CDATA[<p>sixtyseconds:</p>
<p>most browsers (save Chrome, as eyelidlessness said) don&#8217;t have fine-resolution timers. That means that if your function runs in 0.9 ms and mine runs in 0.01ms, they both report as &#8220;0ms&#8221;. The point of doing enough iterations is to show what heavy usage of the selector engine will *really* look like in relative terms. Cumulative numbers (like slickspeed generates at the bottom) aren&#8217;t good for anything else anyway.</p>
<p>The objection is about methodological accuracy. Slickspeed is b0rked in this regard, but pumping up the # of revs gives you a simple way to address the timer resolution issue. NOT doing it simply obsfucates actual comparative performance.</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272393</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Sat, 28 Mar 2009 01:08:58 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272393</guid>
		<description>@sixtyseconds:

I can&#039;t speak for slightlyoff, but the point isn&#039;t that running the same query N times is &quot;real world&quot;, but that because of limitations of the ECMA 262 implementation of most browsers (save Chrome), measuring the number of executions in a defined time gives you a more accurate measurement of the performance of the function itself. This translates indirectly to real world use in the sense that you won&#039;t run the same query N times, but that you&#039;ll run dozens of queries in a given setting, and that the real world speed of each of those queries affects cumulative speed of the application generally.

I&#039;m really shocked that this needs any comment at all. Of course benchmarks are somewhat removed from &quot;real world&quot; use; the purpose is to test real world methods discretely and accurately, to identify general and specific performance boons and bottlenecks.</description>
		<content:encoded><![CDATA[<p>@sixtyseconds:</p>
<p>I can&#8217;t speak for slightlyoff, but the point isn&#8217;t that running the same query N times is &#8220;real world&#8221;, but that because of limitations of the ECMA 262 implementation of most browsers (save Chrome), measuring the number of executions in a defined time gives you a more accurate measurement of the performance of the function itself. This translates indirectly to real world use in the sense that you won&#8217;t run the same query N times, but that you&#8217;ll run dozens of queries in a given setting, and that the real world speed of each of those queries affects cumulative speed of the application generally.</p>
<p>I&#8217;m really shocked that this needs any comment at all. Of course benchmarks are somewhat removed from &#8220;real world&#8221; use; the purpose is to test real world methods discretely and accurately, to identify general and specific performance boons and bottlenecks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sixtyseconds</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272392</link>
		<dc:creator>sixtyseconds</dc:creator>
		<pubDate>Fri, 27 Mar 2009 22:59:54 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272392</guid>
		<description>@slightlyoff: when is the last time you ran the same query selection on the same DOM context more than 10 times, in real life? :)</description>
		<content:encoded><![CDATA[<p>@slightlyoff: when is the last time you ran the same query selection on the same DOM context more than 10 times, in real life? :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: slightlyoff</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272391</link>
		<dc:creator>slightlyoff</dc:creator>
		<pubDate>Fri, 27 Mar 2009 22:54:53 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272391</guid>
		<description>digitarald:

I think you didn&#039;t understand the point at all: your tests aren&#039;t measuring what you think they are. Running tests 10 times tells you *nothing* if the total accumulated test time is below the resolution of the system timer you&#039;re using to measure with. And with Slickspeed on most browsers, they are. The version of Slickspeed I used to develop Acme against runs each test for at least 1s, not a fixed number of times, and reports # of queries/ms, not time to run a fixed number of operations. Your numbers aren&#039;t measuring what you think they are.

Regards</description>
		<content:encoded><![CDATA[<p>digitarald:</p>
<p>I think you didn&#8217;t understand the point at all: your tests aren&#8217;t measuring what you think they are. Running tests 10 times tells you *nothing* if the total accumulated test time is below the resolution of the system timer you&#8217;re using to measure with. And with Slickspeed on most browsers, they are. The version of Slickspeed I used to develop Acme against runs each test for at least 1s, not a fixed number of times, and reports # of queries/ms, not time to run a fixed number of operations. Your numbers aren&#8217;t measuring what you think they are.</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thasmo</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272390</link>
		<dc:creator>Thasmo</dc:creator>
		<pubDate>Fri, 27 Mar 2009 20:47:04 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272390</guid>
		<description>Imho performance and consistently go hand in hand, both beeing important for a good user experience and less developer frustration.
More and more quality in both, permanently improving by competition,
that&#039;s what we all have to go for. Keep it going! =o)</description>
		<content:encoded><![CDATA[<p>Imho performance and consistently go hand in hand, both beeing important for a good user experience and less developer frustration.<br />
More and more quality in both, permanently improving by competition,<br />
that&#8217;s what we all have to go for. Keep it going! =o)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272389</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Fri, 27 Mar 2009 20:39:42 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272389</guid>
		<description>&lt;blockquote&gt;Not much difference between the two in most other browsers. Sure, Sly did better in most but the differences tended to be around 10ms. I don’t know about you but I can’t tell the difference between 20ms and 30ms all that well.&lt;/blockquote&gt; Now, perform several similar operations in a matter of a single function, and watch 20ms vs 30ms become 200ms vs 300ms or 1000ms vs 1500ms.

Users do notice, and care about, speed.</description>
		<content:encoded><![CDATA[<blockquote><p>Not much difference between the two in most other browsers. Sure, Sly did better in most but the differences tended to be around 10ms. I don’t know about you but I can’t tell the difference between 20ms and 30ms all that well.</p></blockquote>
<p> Now, perform several similar operations in a matter of a single function, and watch 20ms vs 30ms become 200ms vs 300ms or 1000ms vs 1500ms.</p>
<p>Users do notice, and care about, speed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: travisalmand</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272385</link>
		<dc:creator>travisalmand</dc:creator>
		<pubDate>Fri, 27 Mar 2009 14:24:47 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272385</guid>
		<description>I don&#039;t see a point in all these comparisons of selector engines against each other. I used the provided benchmark with the different browsers on hand and all it told me is it depends on the browser. I use jQuery so that&#039;s what I was comparing Sly against.

Everything sucked in the IE variants except for IE8 which shows marked improvement.

Not much difference between the two in most other browsers. Sure, Sly did better in most but the differences tended to be around 10ms. I don&#039;t know about you but I can&#039;t tell the difference between 20ms and 30ms all that well.

Everything absolutely screamed in Chrome and Safari4 and jQuery beat Sly by a small margin each time. It was actually fun doing the benchmark in Chrome just to watch how fast it ripped through the test.

Therefore, I am left to conclude that if the selector engine is efficient in its task then its performance is heavily influenced by the browser. And if all browsers will eventually be as fast at Javascript as Chrome then the selector engine you choose won&#039;t matter a whole lot.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t see a point in all these comparisons of selector engines against each other. I used the provided benchmark with the different browsers on hand and all it told me is it depends on the browser. I use jQuery so that&#8217;s what I was comparing Sly against.</p>
<p>Everything sucked in the IE variants except for IE8 which shows marked improvement.</p>
<p>Not much difference between the two in most other browsers. Sure, Sly did better in most but the differences tended to be around 10ms. I don&#8217;t know about you but I can&#8217;t tell the difference between 20ms and 30ms all that well.</p>
<p>Everything absolutely screamed in Chrome and Safari4 and jQuery beat Sly by a small margin each time. It was actually fun doing the benchmark in Chrome just to watch how fast it ripped through the test.</p>
<p>Therefore, I am left to conclude that if the selector engine is efficient in its task then its performance is heavily influenced by the browser. And if all browsers will eventually be as fast at Javascript as Chrome then the selector engine you choose won&#8217;t matter a whole lot.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kazukin</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272375</link>
		<dc:creator>kazukin</dc:creator>
		<pubDate>Fri, 27 Mar 2009 08:22:26 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272375</guid>
		<description>Could anybody explain why &quot;div[class]&quot; test gives different result for Mootools Slick (59 instead of 55) in FF 3.0.7? Is it a bug or something?

Results are also different among libraries for p:contains(selectors), p:only-child div[class!=made_up]</description>
		<content:encoded><![CDATA[<p>Could anybody explain why &#8220;div[class]&#8221; test gives different result for Mootools Slick (59 instead of 55) in FF 3.0.7? Is it a bug or something?</p>
<p>Results are also different among libraries for p:contains(selectors), p:only-child div[class!=made_up]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sixtyseconds</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272374</link>
		<dc:creator>sixtyseconds</dc:creator>
		<pubDate>Fri, 27 Mar 2009 07:13:13 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272374</guid>
		<description>@slightlyoff: is the &lt;i&gt;wealth of experience with benchmarking&lt;/i&gt; supposed to smell like bad sportsmanship, or is that just when posting on Ajaxian? :)</description>
		<content:encoded><![CDATA[<p>@slightlyoff: is the <i>wealth of experience with benchmarking</i> supposed to smell like bad sportsmanship, or is that just when posting on Ajaxian? :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272373</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Fri, 27 Mar 2009 07:12:19 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272373</guid>
		<description>@RyanMorr,

The value of a selector engine probably depends on the application. For something relatively light weight in the first place, you[r users] probably won&#039;t notice the difference in performance, and you probably won&#039;t see your code get out of control. If you&#039;re doing anything particularly heavy, you&#039;ll start to notice the performance hit right away. And it&#039;s clear from your comment that you aren&#039;t using particularly complex selectors (which is only the tip of the iceberg for selector engines, but I digress), but it&#039;s not safe to assume others aren&#039;t.

A project I&#039;m working on right now, for what it&#039;s worth, relies heavily not just on selectors that would be a pain in standard DOM selection, but on caching and well-engineered performance that I&#039;d be hard-pressed to build for myself in the same timeframe without the support of a library (in this case, I&#039;m supporting both jQuery and Prototype).</description>
		<content:encoded><![CDATA[<p>@RyanMorr,</p>
<p>The value of a selector engine probably depends on the application. For something relatively light weight in the first place, you[r users] probably won&#8217;t notice the difference in performance, and you probably won&#8217;t see your code get out of control. If you&#8217;re doing anything particularly heavy, you&#8217;ll start to notice the performance hit right away. And it&#8217;s clear from your comment that you aren&#8217;t using particularly complex selectors (which is only the tip of the iceberg for selector engines, but I digress), but it&#8217;s not safe to assume others aren&#8217;t.</p>
<p>A project I&#8217;m working on right now, for what it&#8217;s worth, relies heavily not just on selectors that would be a pain in standard DOM selection, but on caching and well-engineered performance that I&#8217;d be hard-pressed to build for myself in the same timeframe without the support of a library (in this case, I&#8217;m supporting both jQuery and Prototype).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pepelsbey</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272372</link>
		<dc:creator>pepelsbey</dc:creator>
		<pubDate>Fri, 27 Mar 2009 07:09:55 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272372</guid>
		<description>Your shoul also check &lt;a href=&quot;http://yass.webo.in/docs/&quot; rel=&quot;nofollow&quot;&gt;YASS&lt;/a&gt; js-library.</description>
		<content:encoded><![CDATA[<p>Your shoul also check <a href="http://yass.webo.in/docs/" rel="nofollow">YASS</a> js-library.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: digitarald</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272370</link>
		<dc:creator>digitarald</dc:creator>
		<pubDate>Fri, 27 Mar 2009 00:36:13 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272370</guid>
		<description>@slightlyoff Thanks for your &lt;abbr title=&quot;heckling&quot;&gt;review&lt;/abbr&gt;, here my comments:

 * Dojo has good results, what&#039;s the arguing about? I tested with ACME and the results were very similar.
 * List of frameworks is long enough, this is not a jQuery comparison. If you need one, you can find on in their 1.3 release announcement.
* jQ test uses jQuery.find, which is an alias for Sizzle.
* Selectors run 10 times, so the results are totally super honest, I swear! If you want the responsible persons for the small bars in the graphs, ask the awesome browser developers.
* No, I love them! Those colourful graphs with stacked times, very informative and you can still see browser differences. Maybe you are confused because they are cut off, you have to open the image to see them fully. I&#039;m just hoping that google graphs soon adds a glas or 3d effect, maybe gradients.

Numbers ran on a slickspeed setup that was also used to measure for other framework releases, with most used selectors on &quot;real-life&quot; template. To contribute, &lt;a href=&quot;http://github.com/digitarald/sly/tree/master/speed&quot; rel=&quot;nofollow&quot;&gt;fork the speed test suite&lt;/a&gt; and share your benchmarking wisdom, I&#039;m looking forward to it.</description>
		<content:encoded><![CDATA[<p>@slightlyoff Thanks for your <abbr title="heckling">review</abbr>, here my comments:</p>
<p> * Dojo has good results, what&#8217;s the arguing about? I tested with ACME and the results were very similar.<br />
 * List of frameworks is long enough, this is not a jQuery comparison. If you need one, you can find on in their 1.3 release announcement.<br />
* jQ test uses jQuery.find, which is an alias for Sizzle.<br />
* Selectors run 10 times, so the results are totally super honest, I swear! If you want the responsible persons for the small bars in the graphs, ask the awesome browser developers.<br />
* No, I love them! Those colourful graphs with stacked times, very informative and you can still see browser differences. Maybe you are confused because they are cut off, you have to open the image to see them fully. I&#8217;m just hoping that google graphs soon adds a glas or 3d effect, maybe gradients.</p>
<p>Numbers ran on a slickspeed setup that was also used to measure for other framework releases, with most used selectors on &#8220;real-life&#8221; template. To contribute, <a href="http://github.com/digitarald/sly/tree/master/speed" rel="nofollow">fork the speed test suite</a> and share your benchmarking wisdom, I&#8217;m looking forward to it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RyanMorr</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272368</link>
		<dc:creator>RyanMorr</dc:creator>
		<pubDate>Thu, 26 Mar 2009 22:59:55 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272368</guid>
		<description>I can honestly say there has never been a query I&#039;ve come across that I couldn&#039;t solve with getElementById, getElementsByTagName, and getElementsbyClassName (native or otherwise). Extra bytes sure, but so is a CSS selector engine. It just seems like an awful lot of overkill for nothing more than a little syntactic sugar, especially with querySelectorAll just around the corner.</description>
		<content:encoded><![CDATA[<p>I can honestly say there has never been a query I&#8217;ve come across that I couldn&#8217;t solve with getElementById, getElementsByTagName, and getElementsbyClassName (native or otherwise). Extra bytes sure, but so is a CSS selector engine. It just seems like an awful lot of overkill for nothing more than a little syntactic sugar, especially with querySelectorAll just around the corner.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: slightlyoff</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272367</link>
		<dc:creator>slightlyoff</dc:creator>
		<pubDate>Thu, 26 Mar 2009 22:42:49 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272367</guid>
		<description>not to nit pick, but there are a couple of issues here:

 * the performance tests should be using Dojo 1.3rc2, not 1.2.3
 * similarly, both JQuery 1.2.6 and 1.3.x should both be included
 * for fairness, the tests should test Acme and Sizzle&#039;s *stand alone* versions, not the versions that wrap returns in different types (dojo.NodeList and the JQuery object). Otherwise the tests are apples-to-oranges
 * the times of most of the tests are below browser resolution on the test harness that&#039;s reporting these numbers. That&#039;s just flat-out dishonest benchmarking
  * stacking results like this to show &quot;aggregate times&quot; isn&#039;t useful, and is indeed deeply misleading

Some of these things are the fault of the source benchmark suite, some of them are the author&#039;s own lack of experience with benchmarking. They should all be fixed, though. The numbers, as presented, are meaningless.

Regards</description>
		<content:encoded><![CDATA[<p>not to nit pick, but there are a couple of issues here:</p>
<p> * the performance tests should be using Dojo 1.3rc2, not 1.2.3<br />
 * similarly, both JQuery 1.2.6 and 1.3.x should both be included<br />
 * for fairness, the tests should test Acme and Sizzle&#8217;s *stand alone* versions, not the versions that wrap returns in different types (dojo.NodeList and the JQuery object). Otherwise the tests are apples-to-oranges<br />
 * the times of most of the tests are below browser resolution on the test harness that&#8217;s reporting these numbers. That&#8217;s just flat-out dishonest benchmarking<br />
  * stacking results like this to show &#8220;aggregate times&#8221; isn&#8217;t useful, and is indeed deeply misleading</p>
<p>Some of these things are the fault of the source benchmark suite, some of them are the author&#8217;s own lack of experience with benchmarking. They should all be fixed, though. The numbers, as presented, are meaningless.</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: digitarald</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272366</link>
		<dc:creator>digitarald</dc:creator>
		<pubDate>Thu, 26 Mar 2009 22:19:49 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272366</guid>
		<description>That&#039;s why I didn&#039;t give you the &quot;xy% faster&quot; talk ;) . The graph can tell one story, and the one linked below it tells another one.

You can get the slickspeed suite I used from the github repo, linked in the article, so you can check against DOM Fragments and XML Documents (which are imo too often ignored in tests but yet important to support).

@Spock: &quot;browser consistently and stability is more important&quot;. That is why I worked first on the specs and added the slickspeed tests later. The full feature/quirks detection is still missing and therefore the next coming task. I&#039;ll also exclude more pseudo selectors into additional files, so the core file keeps slim.</description>
		<content:encoded><![CDATA[<p>That&#8217;s why I didn&#8217;t give you the &#8220;xy% faster&#8221; talk ;) . The graph can tell one story, and the one linked below it tells another one.</p>
<p>You can get the slickspeed suite I used from the github repo, linked in the article, so you can check against DOM Fragments and XML Documents (which are imo too often ignored in tests but yet important to support).</p>
<p>@Spock: &#8220;browser consistently and stability is more important&#8221;. That is why I worked first on the specs and added the slickspeed tests later. The full feature/quirks detection is still missing and therefore the next coming task. I&#8217;ll also exclude more pseudo selectors into additional files, so the core file keeps slim.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zachleat</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272365</link>
		<dc:creator>zachleat</dc:creator>
		<pubDate>Thu, 26 Mar 2009 22:01:51 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272365</guid>
		<description>Wasn&#039;t I reading somewhere that there may be up to 10-15ms discrepancy in JS timers that used traditional Date objects?  Seems a bit odd when looking at these Slickspeed tests in terms of 0.8 ms or 1.2 ms.

Regardless, I enjoyed the headline. :)</description>
		<content:encoded><![CDATA[<p>Wasn&#8217;t I reading somewhere that there may be up to 10-15ms discrepancy in JS timers that used traditional Date objects?  Seems a bit odd when looking at these Slickspeed tests in terms of 0.8 ms or 1.2 ms.</p>
<p>Regardless, I enjoyed the headline. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PeteB</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272364</link>
		<dc:creator>PeteB</dc:creator>
		<pubDate>Thu, 26 Mar 2009 21:20:14 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272364</guid>
		<description>in the tests I just ran &lt;a href=&quot;http://the-echoplex.net/demos/slickspeed/&quot; title=&quot;Q  selector engine&quot; rel=&quot;nofollow&quot;&gt;my selector engine&lt;/a&gt; was a little faster on average across the browsers, and a little more accurate in some cases. 

I&#039;m a bit suspicious about the marketing of CSS selector engines, and the accompanying  nth% faster that X library claims -- it&#039;s more hype than sizzle half the time.</description>
		<content:encoded><![CDATA[<p>in the tests I just ran <a href="http://the-echoplex.net/demos/slickspeed/" title="Q  selector engine" rel="nofollow">my selector engine</a> was a little faster on average across the browsers, and a little more accurate in some cases. </p>
<p>I&#8217;m a bit suspicious about the marketing of CSS selector engines, and the accompanying  nth% faster that X library claims &#8212; it&#8217;s more hype than sizzle half the time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CaptainN</title>
		<link>http://ajaxian.com/archives/querying-the-dom-on-the-sly/comment-page-1#comment-272363</link>
		<dc:creator>CaptainN</dc:creator>
		<pubDate>Thu, 26 Mar 2009 20:51:37 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=6437#comment-272363</guid>
		<description>@Spocke

I personally never had a problem with the overall combined size of TinyMCE - the only thing I dislike about it (and it really doesn&#039;t matter most of the time) is the insane amount of time it take to upload it over FTP (especially within Wordpress). That&#039;s do more to the sheer number of files, combined with the inefficiency of FTP for such a large number of tiny files, and not necessarily the total file size.

I agree with most of that you posted btw. :-)</description>
		<content:encoded><![CDATA[<p>@Spocke</p>
<p>I personally never had a problem with the overall combined size of TinyMCE &#8211; the only thing I dislike about it (and it really doesn&#8217;t matter most of the time) is the insane amount of time it take to upload it over FTP (especially within WordPress). That&#8217;s do more to the sheer number of files, combined with the inefficiency of FTP for such a large number of tiny files, and not necessarily the total file size.</p>
<p>I agree with most of that you posted btw. :-)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

