<?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: String Performance in IE: Array.join vs += continued</title>
	<atom:link href="http://ajaxian.com/archives/string-performance-in-ie-arrayjoin-vs-continued/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/string-performance-in-ie-arrayjoin-vs-continued</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: andyli</title>
		<link>http://ajaxian.com/archives/string-performance-in-ie-arrayjoin-vs-continued/comment-page-1#comment-275894</link>
		<dc:creator>andyli</dc:creator>
		<pubDate>Sat, 10 Oct 2009 11:59:12 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3731#comment-275894</guid>
		<description>I&#039;ve just found out that in Chrome 3, using the concat method of String is x7000 SLOWER than the other two (+= and Array join)!!

Try my test here:
http://blog.onthewings.net/2009/10/09/as3-js-string-concatenation-methods-performace-test/</description>
		<content:encoded><![CDATA[<p>I&#8217;ve just found out that in Chrome 3, using the concat method of String is x7000 SLOWER than the other two (+= and Array join)!!</p>
<p>Try my test here:<br />
<a href="http://blog.onthewings.net/2009/10/09/as3-js-string-concatenation-methods-performace-test/" rel="nofollow">http://blog.onthewings.net/2009/10/09/as3-js-string-concatenation-methods-performace-test/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aphrodisiac</title>
		<link>http://ajaxian.com/archives/string-performance-in-ie-arrayjoin-vs-continued/comment-page-1#comment-266709</link>
		<dc:creator>Aphrodisiac</dc:creator>
		<pubDate>Fri, 15 Aug 2008 13:18:11 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3731#comment-266709</guid>
		<description>very intresting
thanks</description>
		<content:encoded><![CDATA[<p>very intresting<br />
thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ttrenka</title>
		<link>http://ajaxian.com/archives/string-performance-in-ie-arrayjoin-vs-continued/comment-page-1#comment-264970</link>
		<dc:creator>ttrenka</dc:creator>
		<pubDate>Tue, 10 Jun 2008 19:33:45 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3731#comment-264970</guid>
		<description>&lt;blockquote&gt;Yep. But thatâ€™s actually a great argument in favor of processing server-side: using a common DOM library for cleaning up all output means the output is consistent before you save it.&lt;/blockquote&gt;
...preaching to the choir.  There&#039;s many different solutions that serve better purposes for different people; that&#039;s the beauty of the Open Web.
&lt;blockquote&gt;Why? It seems downright anti-user to me.&lt;/blockquote&gt;
I think that can really depend on the size of the documents being edited and what kind of performance hit you might take walking a tree.  Most of the time (in my experience) the documents are small enough to not let that process get in the way of the user experience but every situation is different.
.
The main thing is that as a dev, you have all options open, I think.
&lt;blockquote&gt;â€œSometimes you donâ€™t have that optionâ€
.
Thatâ€™s fair, I guess I probably do take for granted the flexibility Iâ€™m allowed in developing when compared to a lot of folks working for larger companies.&lt;/blockquote&gt;
Yes...when I get to work on smaller projects I get used to the flexibility as well.  But when you start working on enterprise-level ones you might be surprised at the kinds of constraints you end up having to work around (again, I can tell you that one from a lot of experience).</description>
		<content:encoded><![CDATA[<blockquote><p>Yep. But thatâ€™s actually a great argument in favor of processing server-side: using a common DOM library for cleaning up all output means the output is consistent before you save it.</p></blockquote>
<p>&#8230;preaching to the choir.  There&#8217;s many different solutions that serve better purposes for different people; that&#8217;s the beauty of the Open Web.</p>
<blockquote><p>Why? It seems downright anti-user to me.</p></blockquote>
<p>I think that can really depend on the size of the documents being edited and what kind of performance hit you might take walking a tree.  Most of the time (in my experience) the documents are small enough to not let that process get in the way of the user experience but every situation is different.<br />
.<br />
The main thing is that as a dev, you have all options open, I think.</p>
<blockquote><p>â€œSometimes you donâ€™t have that optionâ€<br />
.<br />
Thatâ€™s fair, I guess I probably do take for granted the flexibility Iâ€™m allowed in developing when compared to a lot of folks working for larger companies.</p></blockquote>
<p>Yes&#8230;when I get to work on smaller projects I get used to the flexibility as well.  But when you start working on enterprise-level ones you might be surprised at the kinds of constraints you end up having to work around (again, I can tell you that one from a lot of experience).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/string-performance-in-ie-arrayjoin-vs-continued/comment-page-1#comment-264967</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Tue, 10 Jun 2008 18:43:06 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3731#comment-264967</guid>
		<description>&quot;If youâ€™re doing editor work (you implied that below this quote) then youâ€™ll know that what comes out of the editors in each browser is very different.&quot;
.
Yep. But that&#039;s actually a great argument in favor of processing server-side: using a common DOM library for cleaning up all output means the output is consistent before you save it.
.
&quot;I personally know a number of others that would prefer to offload that onto the client.&quot;
.
Why? It seems downright anti-user to me.
.
&quot;Sometimes you donâ€™t have that option&quot;
.
That&#039;s fair, I guess I probably do take for granted the flexibility I&#039;m allowed in developing when compared to a lot of folks working for larger companies.
.
&quot;PS: I like your solution for separating paragraphs on the comments here, think Iâ€™m gonna lift it from now on :)&quot;
.
Someone who posts on here uses the paragraph symbol, which I like more, but I can never remember the keyboard shortcut for it! Too bad it&#039;s impossible to get the Ajaxian folks to fix really glaring but simple-to-fix design problems with the site (the other being videos/images often being too wide for the content area).</description>
		<content:encoded><![CDATA[<p>&#8220;If youâ€™re doing editor work (you implied that below this quote) then youâ€™ll know that what comes out of the editors in each browser is very different.&#8221;<br />
.<br />
Yep. But that&#8217;s actually a great argument in favor of processing server-side: using a common DOM library for cleaning up all output means the output is consistent before you save it.<br />
.<br />
&#8220;I personally know a number of others that would prefer to offload that onto the client.&#8221;<br />
.<br />
Why? It seems downright anti-user to me.<br />
.<br />
&#8220;Sometimes you donâ€™t have that option&#8221;<br />
.<br />
That&#8217;s fair, I guess I probably do take for granted the flexibility I&#8217;m allowed in developing when compared to a lot of folks working for larger companies.<br />
.<br />
&#8220;PS: I like your solution for separating paragraphs on the comments here, think Iâ€™m gonna lift it from now on :)&#8221;<br />
.<br />
Someone who posts on here uses the paragraph symbol, which I like more, but I can never remember the keyboard shortcut for it! Too bad it&#8217;s impossible to get the Ajaxian folks to fix really glaring but simple-to-fix design problems with the site (the other being videos/images often being too wide for the content area).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ttrenka</title>
		<link>http://ajaxian.com/archives/string-performance-in-ie-arrayjoin-vs-continued/comment-page-1#comment-264966</link>
		<dc:creator>ttrenka</dc:creator>
		<pubDate>Tue, 10 Jun 2008 18:27:29 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3731#comment-264966</guid>
		<description>&lt;blockquote cite=&quot;eyelidlessness&quot;&gt;Really? That seems like it could be better accomplished server-side, especially by not treating the data as text-only but using a solid DOM library of some sort.&lt;/blockquote&gt;
If you&#039;re doing editor work (you implied that below this quote) then you&#039;ll know that what comes out of the editors in each browser is very different.  You could most certainly process that server-side (and some do) but I personally know a number of others that would prefer to offload that onto the client.
.
&lt;blockquote cite=&quot;eyelidlessness&quot;&gt;Hey, Iâ€™m doing plenty of things at least that complex (including building implementations of both of these examples!), but when I start seeing operations like that where something like string performance becomes an obvious problem, I start to rethink the process and find ways to offload or avoid the expensive operations.
.
I really think that if this is such a pressing issue you might want to rethink either the process or the UI or both.&lt;/blockquote&gt;
Sometimes you don&#039;t have that option, but I agree--when string performance is killing your app, you definitely have a problem.
.
But the goal here was to try to determine the best techniques possible based on the way the various browsers handle strings, in a way that is accurate and informative.  I happen to know quite a few advanced developers who not only find this interesting but will also find ways to apply it to their own code--which is A Good Thing (tm).
.
PS: I like your solution for separating paragraphs on the comments here, think I&#039;m gonna lift it from now on :)</description>
		<content:encoded><![CDATA[<blockquote cite="eyelidlessness"><p>Really? That seems like it could be better accomplished server-side, especially by not treating the data as text-only but using a solid DOM library of some sort.</p></blockquote>
<p>If you&#8217;re doing editor work (you implied that below this quote) then you&#8217;ll know that what comes out of the editors in each browser is very different.  You could most certainly process that server-side (and some do) but I personally know a number of others that would prefer to offload that onto the client.<br />
.</p>
<blockquote cite="eyelidlessness"><p>Hey, Iâ€™m doing plenty of things at least that complex (including building implementations of both of these examples!), but when I start seeing operations like that where something like string performance becomes an obvious problem, I start to rethink the process and find ways to offload or avoid the expensive operations.<br />
.<br />
I really think that if this is such a pressing issue you might want to rethink either the process or the UI or both.</p></blockquote>
<p>Sometimes you don&#8217;t have that option, but I agree&#8211;when string performance is killing your app, you definitely have a problem.<br />
.<br />
But the goal here was to try to determine the best techniques possible based on the way the various browsers handle strings, in a way that is accurate and informative.  I happen to know quite a few advanced developers who not only find this interesting but will also find ways to apply it to their own code&#8211;which is A Good Thing &#8482;.<br />
.<br />
PS: I like your solution for separating paragraphs on the comments here, think I&#8217;m gonna lift it from now on :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/string-performance-in-ie-arrayjoin-vs-continued/comment-page-1#comment-264965</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Tue, 10 Jun 2008 18:17:23 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3731#comment-264965</guid>
		<description>@timsamshuijzen:
&quot;sort the (large) table by clicking any of the column headers (client side sorting)&quot;
.
Well that&#039;s all fine and good, but it&#039;s probably better both for usability and for performance to paginate the results, at which point the performance difference would be pretty minimal. Another benefit is that, given that an Ajax response would likely be faster for sorting across pages than client-side sorting of non-paginated data, you can essentially just build the table itself server-side and drop it in in innerHTML.
.
&quot;I then use innerHTML to re-display the table (I know, innerHTML is bad bad bad, it just seemed to be the fastest method).&quot;
.
Of course it&#039;s the best method for table operations, especially given IE&#039;s idiocy in handling DOM operations on tables.
.
@ttrenka:
&quot;Another use is serializing the contents of a documentâ€“say you have an Editor of some sort (like FCKEditor or the Dijit Editor), and you want to post the contents of that editor as pure XHTMLâ€¦you would walk the DOM of the contents of the editor and create a string out of it using string concatenation.&quot;
.
Really? That seems like it could be better accomplished server-side, especially by not treating the data as text-only but using a solid DOM library of some sort.
.
&quot;There are many uses for large string operations in JavaScript; it may not be of interest to anyone doing simple things on a site but it should be of interest to anyone doing a bit more than that.&quot;
.
Hey, I&#039;m doing plenty of things at least that complex (including building implementations of both of these examples!), but when I start seeing operations like that where something like string performance becomes an obvious problem, I start to rethink the process and find ways to offload or avoid the expensive operations.
.
I really think that if this is such a pressing issue you might want to rethink either the process or the UI or both.</description>
		<content:encoded><![CDATA[<p>@timsamshuijzen:<br />
&#8220;sort the (large) table by clicking any of the column headers (client side sorting)&#8221;<br />
.<br />
Well that&#8217;s all fine and good, but it&#8217;s probably better both for usability and for performance to paginate the results, at which point the performance difference would be pretty minimal. Another benefit is that, given that an Ajax response would likely be faster for sorting across pages than client-side sorting of non-paginated data, you can essentially just build the table itself server-side and drop it in in innerHTML.<br />
.<br />
&#8220;I then use innerHTML to re-display the table (I know, innerHTML is bad bad bad, it just seemed to be the fastest method).&#8221;<br />
.<br />
Of course it&#8217;s the best method for table operations, especially given IE&#8217;s idiocy in handling DOM operations on tables.<br />
.<br />
@ttrenka:<br />
&#8220;Another use is serializing the contents of a documentâ€“say you have an Editor of some sort (like FCKEditor or the Dijit Editor), and you want to post the contents of that editor as pure XHTMLâ€¦you would walk the DOM of the contents of the editor and create a string out of it using string concatenation.&#8221;<br />
.<br />
Really? That seems like it could be better accomplished server-side, especially by not treating the data as text-only but using a solid DOM library of some sort.<br />
.<br />
&#8220;There are many uses for large string operations in JavaScript; it may not be of interest to anyone doing simple things on a site but it should be of interest to anyone doing a bit more than that.&#8221;<br />
.<br />
Hey, I&#8217;m doing plenty of things at least that complex (including building implementations of both of these examples!), but when I start seeing operations like that where something like string performance becomes an obvious problem, I start to rethink the process and find ways to offload or avoid the expensive operations.<br />
.<br />
I really think that if this is such a pressing issue you might want to rethink either the process or the UI or both.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ttrenka</title>
		<link>http://ajaxian.com/archives/string-performance-in-ie-arrayjoin-vs-continued/comment-page-1#comment-264963</link>
		<dc:creator>ttrenka</dc:creator>
		<pubDate>Tue, 10 Jun 2008 17:26:50 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3731#comment-264963</guid>
		<description>That is one use for it (and was the original method I&#039;d used back for the Dojo 0.3 SortableTable).  Another use is serializing the contents of a document--say you have an Editor of some sort (like FCKEditor or the Dijit Editor), and you want to post the contents of that editor as pure XHTML...you would walk the DOM of the contents of the editor and create a string out of it using string concatenation.  There are many uses for large string operations in JavaScript; it may not be of interest to anyone doing simple things on a site but it should be of interest to anyone doing a bit more than that.</description>
		<content:encoded><![CDATA[<p>That is one use for it (and was the original method I&#8217;d used back for the Dojo 0.3 SortableTable).  Another use is serializing the contents of a document&#8211;say you have an Editor of some sort (like FCKEditor or the Dijit Editor), and you want to post the contents of that editor as pure XHTML&#8230;you would walk the DOM of the contents of the editor and create a string out of it using string concatenation.  There are many uses for large string operations in JavaScript; it may not be of interest to anyone doing simple things on a site but it should be of interest to anyone doing a bit more than that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: timsamshuijzen</title>
		<link>http://ajaxian.com/archives/string-performance-in-ie-arrayjoin-vs-continued/comment-page-1#comment-264950</link>
		<dc:creator>timsamshuijzen</dc:creator>
		<pubDate>Tue, 10 Jun 2008 13:51:47 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3731#comment-264950</guid>
		<description>As an example of large string concatenations, look at this website:

http://www.megabooksearch.com/

Example: search for Author &quot;kerouac&quot;. Once the search results are presented on the List page, you can sort the (large) table by clicking any of the column headers (client side sorting). The entire table is rebuilt using string concatenations. I then use innerHTML to re-display the table (I know, innerHTML is bad bad bad, it just seemed to be the fastest method).</description>
		<content:encoded><![CDATA[<p>As an example of large string concatenations, look at this website:</p>
<p><a href="http://www.megabooksearch.com/" rel="nofollow">http://www.megabooksearch.com/</a></p>
<p>Example: search for Author &#8220;kerouac&#8221;. Once the search results are presented on the List page, you can sort the (large) table by clicking any of the column headers (client side sorting). The entire table is rebuilt using string concatenations. I then use innerHTML to re-display the table (I know, innerHTML is bad bad bad, it just seemed to be the fastest method).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eyelidlessness</title>
		<link>http://ajaxian.com/archives/string-performance-in-ie-arrayjoin-vs-continued/comment-page-1#comment-264932</link>
		<dc:creator>eyelidlessness</dc:creator>
		<pubDate>Tue, 10 Jun 2008 05:26:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=3731#comment-264932</guid>
		<description>What the hell are people doing with strings that requires so much energy spent on this? I&#039;ve never done a string concat operation that took enough time to notice in any browser.

Given how much attention to the issue has waned, I don&#039;t think I&#039;m alone.</description>
		<content:encoded><![CDATA[<p>What the hell are people doing with strings that requires so much energy spent on this? I&#8217;ve never done a string concat operation that took enough time to notice in any browser.</p>
<p>Given how much attention to the issue has waned, I don&#8217;t think I&#8217;m alone.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

