<?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: replaceHTML for when innerHTML dogs you down</title>
	<atom:link href="http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Robert</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255546</link>
		<dc:creator>Robert</dc:creator>
		<pubDate>Sat, 15 Sep 2007 00:50:34 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255546</guid>
		<description>&quot;Performance&quot; would be a nice tag - so we could easily find this post later ;-)</description>
		<content:encoded><![CDATA[<p>&#8220;Performance&#8221; would be a nice tag &#8211; so we could easily find this post later ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255531</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Fri, 14 Sep 2007 18:05:25 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255531</guid>
		<description>About benchamrking, 
maybe someone could take the trouble of looking up DOMs in popular apps like Gmail, google docs, Windows Live, sites with YUI, ZK and GWT, and scriptaculous-based and come up with a sort of report on the amount of elements of each type that you would habdle in a &quot;typical web2.0&quot; site. obviously one number, or a few,  is useless.
So we could say that something like this is useful:
No. of divs, tables, td&#039;s, tr&#039;s, 
level1, level2, level3 span&#039;s, div&#039;s,
elements with heavy css styling: 4-5 rules per element,
elements with minial styling: 1or 2 css rules
inherited rules, inline styles

Kinda like saying you *become* the browser and its DOM and then analyse everything in it from a benchmarking perspective.
Much like any other decently acceptable benchmarking system.

Anyone game?
PS: If you&#039;re that confident about the quality of such a test that you perform, and document, you could &lt;b&gt;sell&lt;/b&gt; the whitepaper ;-)</description>
		<content:encoded><![CDATA[<p>About benchamrking,<br />
maybe someone could take the trouble of looking up DOMs in popular apps like Gmail, google docs, Windows Live, sites with YUI, ZK and GWT, and scriptaculous-based and come up with a sort of report on the amount of elements of each type that you would habdle in a &#8220;typical web2.0&#8243; site. obviously one number, or a few,  is useless.<br />
So we could say that something like this is useful:<br />
No. of divs, tables, td&#8217;s, tr&#8217;s,<br />
level1, level2, level3 span&#8217;s, div&#8217;s,<br />
elements with heavy css styling: 4-5 rules per element,<br />
elements with minial styling: 1or 2 css rules<br />
inherited rules, inline styles</p>
<p>Kinda like saying you *become* the browser and its DOM and then analyse everything in it from a benchmarking perspective.<br />
Much like any other decently acceptable benchmarking system.</p>
<p>Anyone game?<br />
PS: If you&#8217;re that confident about the quality of such a test that you perform, and document, you could <b>sell</b> the whitepaper ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marty</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255510</link>
		<dc:creator>Marty</dc:creator>
		<pubDate>Fri, 14 Sep 2007 13:02:07 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255510</guid>
		<description>Anon: &lt;i&gt;the question is: who in real life needs 1000+ innerHTMLs in a row? &lt;/i&gt;

I do.  Next question.</description>
		<content:encoded><![CDATA[<p>Anon: <i>the question is: who in real life needs 1000+ innerHTMLs in a row? </i></p>
<p>I do.  Next question.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gorm</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255504</link>
		<dc:creator>Gorm</dc:creator>
		<pubDate>Fri, 14 Sep 2007 09:00:38 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255504</guid>
		<description>@Steven Levithan 
I get slower results with the new Opera alpha from time to time. Actually it&#039;s faster sometimes, but slower other times (not by any noteable margin though). My point is that you don&#039;t know if the browser will change it&#039;s implementation in the future. I would rather see vendors fix/optimize rather than doing unpredictable hacks.</description>
		<content:encoded><![CDATA[<p>@Steven Levithan<br />
I get slower results with the new Opera alpha from time to time. Actually it&#8217;s faster sometimes, but slower other times (not by any noteable margin though). My point is that you don&#8217;t know if the browser will change it&#8217;s implementation in the future. I would rather see vendors fix/optimize rather than doing unpredictable hacks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vital</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255503</link>
		<dc:creator>Vital</dc:creator>
		<pubDate>Fri, 14 Sep 2007 08:40:02 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255503</guid>
		<description>i don&#039;t know, what a computer do you have but for me, replaceHtml ALWAYS slower than innerHTML (Opera 9.23, FF 2.0.0.6, IE 6, Safari 2.0.4)</description>
		<content:encoded><![CDATA[<p>i don&#8217;t know, what a computer do you have but for me, replaceHtml ALWAYS slower than innerHTML (Opera 9.23, FF 2.0.0.6, IE 6, Safari 2.0.4)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steven Levithan</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255501</link>
		<dc:creator>Steven Levithan</dc:creator>
		<pubDate>Fri, 14 Sep 2007 06:43:26 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255501</guid>
		<description>@deadcabbit: Alas, it&#039;s often the case that such is life in the world of cross-browser JavaScript performance testing, especially if you or your OS have a lot going on in the background. Also note that many people give too much weight to (often meaningless) averages of repeated tests. The numbers I posted are based on best times for each discrete test on my personal system over numerous run-throughs. IE performance times are typically so fast that minor differences can seem significant if you only look at the comparison calculations. If you look at the code, you will will see that it cannot possibly be faster than simple use of innerHTML in IE, since that&#039;s exactly what&#039;s used in that browser.</description>
		<content:encoded><![CDATA[<p>@deadcabbit: Alas, it&#8217;s often the case that such is life in the world of cross-browser JavaScript performance testing, especially if you or your OS have a lot going on in the background. Also note that many people give too much weight to (often meaningless) averages of repeated tests. The numbers I posted are based on best times for each discrete test on my personal system over numerous run-throughs. IE performance times are typically so fast that minor differences can seem significant if you only look at the comparison calculations. If you look at the code, you will will see that it cannot possibly be faster than simple use of innerHTML in IE, since that&#8217;s exactly what&#8217;s used in that browser.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: deadcabbit</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255500</link>
		<dc:creator>deadcabbit</dc:creator>
		<pubDate>Fri, 14 Sep 2007 05:45:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255500</guid>
		<description>No matter how hard I try, the results are unreliable or unsatisfying. Opera on my Vista home fluctutes weirdly and IE7 always seems to be slower.</description>
		<content:encoded><![CDATA[<p>No matter how hard I try, the results are unreliable or unsatisfying. Opera on my Vista home fluctutes weirdly and IE7 always seems to be slower.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255491</link>
		<dc:creator>Charles</dc:creator>
		<pubDate>Thu, 13 Sep 2007 23:00:03 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255491</guid>
		<description>OT:  I second Matt&#039;s motion for tagging, I swear I just had a similar thought 30 seconds ago.</description>
		<content:encoded><![CDATA[<p>OT:  I second Matt&#8217;s motion for tagging, I swear I just had a similar thought 30 seconds ago.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steven Levithan</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255488</link>
		<dc:creator>Steven Levithan</dc:creator>
		<pubDate>Thu, 13 Sep 2007 22:05:25 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255488</guid>
		<description>Yes, and I&#039;m sorry if I contributed towards turning this into a somewhat heated discussion. As noted in the parallel discussion with Brewer on my blog, his approach has less potential for unexpected side effects, so it is preferable for things like JavaScript frameworks.</description>
		<content:encoded><![CDATA[<p>Yes, and I&#8217;m sorry if I contributed towards turning this into a somewhat heated discussion. As noted in the parallel discussion with Brewer on my blog, his approach has less potential for unexpected side effects, so it is preferable for things like JavaScript frameworks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kris Zyp</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255487</link>
		<dc:creator>Kris Zyp</dc:creator>
		<pubDate>Thu, 13 Sep 2007 21:35:04 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255487</guid>
		<description>It should be pretty clear which approach to use. If you possibly have references to the element in question, than use Brewer&#039;s, if not you can use Levithan&#039;s.</description>
		<content:encoded><![CDATA[<p>It should be pretty clear which approach to use. If you possibly have references to the element in question, than use Brewer&#8217;s, if not you can use Levithan&#8217;s.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anonymous</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255486</link>
		<dc:creator>anonymous</dc:creator>
		<pubDate>Thu, 13 Sep 2007 21:31:48 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255486</guid>
		<description>the question is: who in real life needs 1000+ innerHTMLs in a row?</description>
		<content:encoded><![CDATA[<p>the question is: who in real life needs 1000+ innerHTMLs in a row?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steven Levithan</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255481</link>
		<dc:creator>Steven Levithan</dc:creator>
		<pubDate>Thu, 13 Sep 2007 19:55:42 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255481</guid>
		<description>&quot;didnâ€™t escape my HTML in blogger - Iâ€™ve updated&quot; --Steve Brewer


Gotcha. As for, &quot;Youâ€™ll have to demonstrate...&quot;, see here: http://stevenlevithan.com/demo/replaceHtml2.html


At least on my system, withRemove() is consistently slower in all of the four big browsers.</description>
		<content:encoded><![CDATA[<p>&#8220;didnâ€™t escape my HTML in blogger &#8211; Iâ€™ve updated&#8221; &#8211;Steve Brewer</p>
<p>Gotcha. As for, &#8220;Youâ€™ll have to demonstrate&#8230;&#8221;, see here: <a href="http://stevenlevithan.com/demo/replaceHtml2.html" rel="nofollow">http://stevenlevithan.com/demo/replaceHtml2.html</a></p>
<p>At least on my system, withRemove() is consistently slower in all of the four big browsers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255480</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Thu, 13 Sep 2007 19:11:17 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255480</guid>
		<description>Dion, et al,

You guys should either a) Have a &quot;performance&quot; category that you tag articles with, and/or b) enable user tagging

Either way, it&#039;d be great to come back to Ajaxian.com when I need to do some performance improvements, and find articles like this easily.

Thanks!!

- Matt</description>
		<content:encoded><![CDATA[<p>Dion, et al,</p>
<p>You guys should either a) Have a &#8220;performance&#8221; category that you tag articles with, and/or b) enable user tagging</p>
<p>Either way, it&#8217;d be great to come back to Ajaxian.com when I need to do some performance improvements, and find articles like this easily.</p>
<p>Thanks!!</p>
<p>- Matt</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Brewer</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255479</link>
		<dc:creator>Steve Brewer</dc:creator>
		<pubDate>Thu, 13 Sep 2007 19:02:43 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255479</guid>
		<description>Hey Steve,
My test used 15,000 spans, not one text node (didn&#039;t escape my HTML in blogger - I&#039;ve updated).

The perf gain is about manipulating a node that&#039;s in the DOM vs. one that isn&#039;t.  This is a common performance trick (see Y!&#039;s performance blog).

You&#039;ll have to demonstrate &quot;The destroy step is slower&quot;.  If you&#039;re replacing a big chunck of HTML with another big chunk of HTML, your function and remove-update-replace are pretty much equal speed wise - except replaceHtml has gone and blow away the original node.</description>
		<content:encoded><![CDATA[<p>Hey Steve,<br />
My test used 15,000 spans, not one text node (didn&#8217;t escape my HTML in blogger &#8211; I&#8217;ve updated).</p>
<p>The perf gain is about manipulating a node that&#8217;s in the DOM vs. one that isn&#8217;t.  This is a common performance trick (see Y!&#8217;s performance blog).</p>
<p>You&#8217;ll have to demonstrate &#8220;The destroy step is slower&#8221;.  If you&#8217;re replacing a big chunck of HTML with another big chunk of HTML, your function and remove-update-replace are pretty much equal speed wise &#8211; except replaceHtml has gone and blow away the original node.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Japayth</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255478</link>
		<dc:creator>Japayth</dc:creator>
		<pubDate>Thu, 13 Sep 2007 18:56:43 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255478</guid>
		<description>You should probably run a &quot;for (attr in node)&quot; to preserve other attributes, not just the id.</description>
		<content:encoded><![CDATA[<p>You should probably run a &#8220;for (attr in node)&#8221; to preserve other attributes, not just the id.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steven Levithan</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255472</link>
		<dc:creator>Steven Levithan</dc:creator>
		<pubDate>Thu, 13 Sep 2007 17:45:24 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255472</guid>
		<description>@Brad Harris: This function is not appropriate if you need to worry about cross-browser memory leak issues resulting from event listeners on child nodes, etc. However, the overhead of dealing with such issues when you don&#039;t need to (which many frameworks do for you... e.g., with jQuery.html(value), etc.) can be just as much if not more of a problem.


@Steve Brewer:
I hope you realize that your currently posted test (which builds a single textNode consisting of the string &quot;CONTENT&quot; repeated 15,000 times) is not remotely comparable. The approach you describe is certainly faster than plain innerHTML, at least in Firefox, but it is not faster than replaceHtml (it is easily demonstrable that the &quot;destroy&quot; step is slower).


@Fabian Jakobs:
That is very interesting! In fact, upon initial tests, it appears that simply wrapping the new html string in a &lt;div&gt; element before using innerHTML is a very effective solution against the performance issues in both Firefox and Safari!</description>
		<content:encoded><![CDATA[<p>@Brad Harris: This function is not appropriate if you need to worry about cross-browser memory leak issues resulting from event listeners on child nodes, etc. However, the overhead of dealing with such issues when you don&#8217;t need to (which many frameworks do for you&#8230; e.g., with jQuery.html(value), etc.) can be just as much if not more of a problem.</p>
<p>@Steve Brewer:<br />
I hope you realize that your currently posted test (which builds a single textNode consisting of the string &#8220;CONTENT&#8221; repeated 15,000 times) is not remotely comparable. The approach you describe is certainly faster than plain innerHTML, at least in Firefox, but it is not faster than replaceHtml (it is easily demonstrable that the &#8220;destroy&#8221; step is slower).</p>
<p>@Fabian Jakobs:<br />
That is very interesting! In fact, upon initial tests, it appears that simply wrapping the new html string in a &lt;div&gt; element before using innerHTML is a very effective solution against the performance issues in both Firefox and Safari!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255471</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Thu, 13 Sep 2007 17:05:56 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255471</guid>
		<description>Can we have &quot;Email Article&quot; on this site? I wanna email this article to my friend since he&#039;s an Ajax developer but I have to manually copy and paste the URL.  I thought &quot;Email Article&quot; is already a standard feature nowadays.

Just my 2 cents.</description>
		<content:encoded><![CDATA[<p>Can we have &#8220;Email Article&#8221; on this site? I wanna email this article to my friend since he&#8217;s an Ajax developer but I have to manually copy and paste the URL.  I thought &#8220;Email Article&#8221; is already a standard feature nowadays.</p>
<p>Just my 2 cents.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabian Jakobs</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255470</link>
		<dc:creator>Fabian Jakobs</dc:creator>
		<pubDate>Thu, 13 Sep 2007 16:23:42 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255470</guid>
		<description>Nice code. I thought I could speed up our virtual table with this hack but it seems that it only has this speed improvements if the parent element really has many child nodes. If you put a single div around the test string the speed improvement drops to just 1.3x no matter how many elements are inside this div.

In our case the parent element would only have one single child, the table, which is regenerated using innerHTML and this hack does not help us much :-(</description>
		<content:encoded><![CDATA[<p>Nice code. I thought I could speed up our virtual table with this hack but it seems that it only has this speed improvements if the parent element really has many child nodes. If you put a single div around the test string the speed improvement drops to just 1.3x no matter how many elements are inside this div.</p>
<p>In our case the parent element would only have one single child, the table, which is regenerated using innerHTML and this hack does not help us much :-(</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Brewer</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255469</link>
		<dc:creator>Steve Brewer</dc:creator>
		<pubDate>Thu, 13 Sep 2007 16:21:47 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255469</guid>
		<description>It&#039;s faster because updating a node that isn&#039;t in the DOM is a lot faster than doing the same on a node that is in the page.  Creating a new node isn&#039;t needed - take the node out, update it, and put the original node back in - it will give you the same results without invalidating existing references to you node.  I wrote it up on my blog: http://www.bigdumbdev.com/2007/09/replacehtml-remove-insert-put-back-is.html</description>
		<content:encoded><![CDATA[<p>It&#8217;s faster because updating a node that isn&#8217;t in the DOM is a lot faster than doing the same on a node that is in the page.  Creating a new node isn&#8217;t needed &#8211; take the node out, update it, and put the original node back in &#8211; it will give you the same results without invalidating existing references to you node.  I wrote it up on my blog: <a href="http://www.bigdumbdev.com/2007/09/replacehtml-remove-insert-put-back-is.html" rel="nofollow">http://www.bigdumbdev.com/2007/09/replacehtml-remove-insert-put-back-is.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steven Levithan</title>
		<link>http://ajaxian.com/archives/replacehtml-for-when-innerhtml-dogs-you-down/comment-page-1#comment-255467</link>
		<dc:creator>Steven Levithan</dc:creator>
		<pubDate>Thu, 13 Sep 2007 15:54:29 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=2774#comment-255467</guid>
		<description>@Gorm, the only browser it is always slower in is IE (and only by a narrow margin, which is easily avoidable using conditional compilation). Performance improvements comparable to those in Firefox can also be seen in Safari 3.0.3 beta. Luca&#039;s numbers for Opera are clearly a case of background interference, since the length of the &quot;destroy &amp; create&quot; test should not be much different than the length of the &quot;destroy only&quot; and &quot;create only&quot; tests added together.

If and when Firefox and Safari improve/fix the related issues, obviously this would have little benefit. Until then, it can make the difference between a &quot;broken&quot; application and blazing performance (or perhaps a less dramatic but still positive change in other apps).</description>
		<content:encoded><![CDATA[<p>@Gorm, the only browser it is always slower in is IE (and only by a narrow margin, which is easily avoidable using conditional compilation). Performance improvements comparable to those in Firefox can also be seen in Safari 3.0.3 beta. Luca&#8217;s numbers for Opera are clearly a case of background interference, since the length of the &#8220;destroy &amp; create&#8221; test should not be much different than the length of the &#8220;destroy only&#8221; and &#8220;create only&#8221; tests added together.</p>
<p>If and when Firefox and Safari improve/fix the related issues, obviously this would have little benefit. Until then, it can make the difference between a &#8220;broken&#8221; application and blazing performance (or perhaps a less dramatic but still positive change in other apps).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

