<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Performance issues with &amp;quot;String Concatenation&amp;quot; in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx</link><description>Hello Friends, I am Jaiprakash and work as a Developer in the Jscript team. There is not much to tell about me except one fact - I can’t recall the last time when any of my teammates called me by my name, they just call me JP J . I know, you have seen</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Techy News Blog &amp;raquo; Performance issues with &amp;#8220;String Concatenation&amp;#8221; in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5491175</link><pubDate>Wed, 17 Oct 2007 15:54:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5491175</guid><dc:creator>Techy News Blog » Performance issues with “String Concatenation” in JScript.</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.artofbam.com/wordpress/?p=9573"&gt;http://www.artofbam.com/wordpress/?p=9573&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5492804</link><pubDate>Wed, 17 Oct 2007 17:41:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5492804</guid><dc:creator>Lionel</dc:creator><description>&lt;p&gt;&amp;gt; Numbers speak for themselves.&lt;/p&gt;
&lt;p&gt;Very nice! :-)&lt;/p&gt;
&lt;p&gt;&amp;gt; You will have to wait till next release of Internet Explorer.&lt;/p&gt;
&lt;p&gt;Waiting is hard... :-(&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5494274</link><pubDate>Wed, 17 Oct 2007 19:00:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5494274</guid><dc:creator>Matt Ellis</dc:creator><description>&lt;p&gt;Nice one JP! But after reading Eric's post that you linked to, I'm really interested to know what algorithm you've used to fix it. Any chance of a behind-the-scenes look?&lt;/p&gt;
&lt;p&gt;Cheers&lt;/p&gt;
&lt;p&gt;Matt&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5495102</link><pubDate>Wed, 17 Oct 2007 19:45:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5495102</guid><dc:creator>SharpGIS</dc:creator><description>&lt;p&gt;Seems like a vaste of time for me. Even in JScript there are a much better way to concatenate strings than this by using a string builder approach. And we can use that with todays browsers (and of course we all do right?) This is no different from what we should be doing in all the other programming languages we use, because they all have this problem with string copying.&lt;/p&gt;
&lt;p&gt;Having that said, The JScript performance is one of IE's biggest achilles heals these days, and it's good news that you are optimizing it. VML rendering and mousemove needs some clean up too.&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5500787</link><pubDate>Thu, 18 Oct 2007 01:57:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5500787</guid><dc:creator>shabunc</dc:creator><description>&lt;p&gt;Oh, just great.&lt;/p&gt;
&lt;p&gt;Listen me. guys, we have an almighty algorithm, but we can not describe it. &lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5505781</link><pubDate>Thu, 18 Oct 2007 11:19:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5505781</guid><dc:creator>Martijn Coppoolse</dc:creator><description>&lt;p&gt;That's why I've been using arrays to concatenate strings for, oh, about ten years now.&lt;/p&gt;
&lt;p&gt;To quote JPJ's examples:&lt;/p&gt;
&lt;p&gt;var x = [];&lt;/p&gt;
&lt;p&gt;for (var i = 0; i &amp;lt; count; i++) {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; x.push(s);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;x = x.join('');&lt;/p&gt;
&lt;p&gt;Output:&lt;/p&gt;
&lt;p&gt;Time taken to += 'jscript' 20000 times : 875 ms&lt;/p&gt;
&lt;p&gt;Time taken to push 'jscript' 20000 times : 78 ms&lt;/p&gt;
&lt;p&gt;And the other one is simply rewritten:&lt;/p&gt;
&lt;p&gt;resultStr = ['Jscript', 'String', 'Append'].join('');&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5507143</link><pubDate>Thu, 18 Oct 2007 14:17:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5507143</guid><dc:creator>Shabunc</dc:creator><description>&lt;p&gt;Martijn Coppoolse, yor approach is excellent for IE, but if you want to have a cross-broser decision, you should mention that Array.join approach is the worst in Firefox and not the best in Opera.&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5626296</link><pubDate>Tue, 23 Oct 2007 18:47:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5626296</guid><dc:creator>shivaram.p</dc:creator><description>&lt;p&gt;Thanks for the feedback guys. The algorithm we have used is somewhat similar to what Eric mentioned in his blog. As I said it is still under testing and may need some changes.&lt;/p&gt;
&lt;p&gt;As Martin and SharpGIS mentioned, folks have been using Array.push() and Array.join() approach to concatenate strings in IE, but still not everyone knows about it. New developers still fall back to using direct string concatenation approach, which hurts perf and causes lot of extra work. So why not have all of them performant and let developers concentrate on 'task in hand' rather than 'best practices' :).&lt;/p&gt;
&lt;p&gt;- &amp;nbsp;JP&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5659742</link><pubDate>Thu, 25 Oct 2007 04:37:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5659742</guid><dc:creator>anphanax</dc:creator><description>&lt;P&gt;I do not know where the VBScript people are (or if they even have a blog), or if you're all part of the same team. I am very curious as to whether or not VBScript will be getting this sort of enhancement too, given how much classic ASP in VBScript is still out there and the large amount of other scripts written in it.&lt;/P&gt;
&lt;P&gt;It kind of sucks going through a script written that does a TON of string concatenation (which cannot be avoided with how it is written) and converting the code to use Join(Array(...), "").&lt;/P&gt;
&lt;P&gt;[Suresh] We own VBScript too. VBScript is under sustaining engineering mode for quite some time and we are not planning any new&amp;nbsp;DCR. However we are there to address any blocking issues for the customers.&amp;nbsp;We&amp;nbsp;shall treat this as a bug and&amp;nbsp;plan for a fix.&amp;nbsp;&lt;/P&gt;</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5680274</link><pubDate>Fri, 26 Oct 2007 01:20:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5680274</guid><dc:creator>Tino Zijdel</dc:creator><description>&lt;p&gt;I wrote an article about this last year: &lt;a rel="nofollow" target="_new" href="http://therealcrisp.xs4all.nl/blog/2006/12/09/string-performance-in-internet-explorer/"&gt;http://therealcrisp.xs4all.nl/blog/2006/12/09/string-performance-in-internet-explorer/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;bottom line is that a stringbuilder approach isn't optimal either because of IE's poor performance in all the other areas and you would either have to fork your code for IE or experience degraded performance in other browsers who do have decent string-handling performance.&lt;/p&gt;
&lt;p&gt;It's good that MS is finally doing something about this long-standing issue, I do have however one question: will JScript in future also support accessing strings as a character-array like all other ECMA-compliant implementations?&lt;/p&gt;
&lt;p&gt;For example: alert('foo'[2]) should give me 'o'&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5764289</link><pubDate>Mon, 29 Oct 2007 16:15:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5764289</guid><dc:creator>Rasmus</dc:creator><description>&lt;p&gt;Should be possible to get a nice speedup by avoiding some of the long string copies. Something like:&lt;/p&gt;
&lt;p&gt;var blocksize = 10;&lt;/p&gt;
&lt;p&gt;for (var i = 0; i &amp;lt; count / blocksize; i++) {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;var tmp = &amp;quot;&amp;quot;;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;for (var j = 0; j &amp;lt; blocksize; j++) {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tmp += s;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;x += tmp;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;This way the number of string copies are the same, but a lot of them are copying short strings instead of long strings.&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5764499</link><pubDate>Mon, 29 Oct 2007 16:26:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5764499</guid><dc:creator>Jaiprakash</dc:creator><description>&lt;p&gt;Absolutely right. The current implmentation gets slower ans slower as string size increases. It's nice work around to append small strings, and then generate a big string out of them.&lt;/p&gt;
&lt;p&gt;-JP&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5805896</link><pubDate>Thu, 01 Nov 2007 01:07:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5805896</guid><dc:creator>Jorrit Schippers</dc:creator><description>&lt;p&gt;What is holding you from putting this fix in a next update of current versions? It's not a crime to release performance updates after a products release.&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#5928128</link><pubDate>Tue, 06 Nov 2007 08:12:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5928128</guid><dc:creator>rektide</dc:creator><description>&lt;p&gt;i suggest mentioning array.join in the article, such that less new programmers have to be lightly bruised with sticks for their crimes. &amp;nbsp;regardless of ie's performance, the problem is not string concatenation, its the people who use it.&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#6821331</link><pubDate>Fri, 21 Dec 2007 01:43:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6821331</guid><dc:creator>UUDIBUUDI</dc:creator><description>&lt;p&gt;I use this all the time in HTA's, simple, easy to read and pretty efficient (i lookup the length of the array so I can add stuff to the output without having to increase a counter). No extra functions / classes needed! :)&lt;/p&gt;
&lt;p&gt;var output = new Array();&lt;/p&gt;
&lt;p&gt;for (var i = 0; i &amp;lt; 1000; i++) {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; output[output.length] = i;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;alert(output.join(''));&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#6821404</link><pubDate>Fri, 21 Dec 2007 01:55:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6821404</guid><dc:creator>Photowiz</dc:creator><description>&lt;p&gt;This is not a waste of time, SharpGIS. Whether you can improve string performance is not relevant to the thousands of web pages already existing that use string builders.&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#6822438</link><pubDate>Fri, 21 Dec 2007 03:48:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6822438</guid><dc:creator>Keith</dc:creator><description>&lt;p&gt;This article would have been more accurately titled: &amp;quot;Performance issues with &amp;quot;Extremely Long String Concatenation&amp;quot; in JScript.&amp;quot;&lt;/p&gt;
&lt;p&gt;Because, unfortunately I think it's a flawed test that will mislead lots of readers of that thread can have them use a less attractive coding pattern that can be up to 3x *slower*, to do a simple thing like concatenate two strings. I will post my tests to the thread.&lt;/p&gt;
&lt;p&gt;I think that &amp;quot;fixing&amp;quot; our code according to that article would actually reduce our performance.&lt;/p&gt;
&lt;p&gt;The problem with the example given is that it creates a very specific, non-realistic test that tickles a particular known code path. Specifically, it repeatedly adds a small string to an extremely long one. That is *not* a real world use case, and if it is, then yes, people should use one of the supplied alternative patterns (and, of course, MS should fix their implementation in any case).&lt;/p&gt;
&lt;p&gt;That IE's JS performs particularly poorly in this regard is evidenced by the non-linear performance times (and perhaps that's why JP didn't show us, e.g. 1k iterations, or 1 or 20 iterations, which are quite good). This is also mentioned by a follow-up poster.&lt;/p&gt;
&lt;p&gt;Normally one loops a performance test many times and then divides by the number of iterations to see what the single-iteration cost is, but that is not accurate in JP's test. Essentially, JP's test tells us nothing about how long it takes to do a single string concatenation or even 1000, it only tells us how long it takes to create a very long string via 20k iterations.&lt;/p&gt;
&lt;p&gt;What, then, if we did a more realistic test, which actually tested what real code is doing? I did that and you'll see that the results are far better *and* far more linear.&lt;/p&gt;
&lt;p&gt;I've included two such tests here, as well as my timings for JP's tests, Martin's tests, and my tests. You'll see that in the normal case, IE has stellar performance. I also included a &amp;quot;1000&amp;quot; iteration number so you can see the linearity of the various tests.&lt;/p&gt;
&lt;p&gt;JP’s code: 20k iterations (1000 iterations): &lt;/p&gt;
&lt;p&gt;	IE: 34000ms (300ms) (yes, you read that right)&lt;/p&gt;
&lt;p&gt;	FF: 83ms (4ms)&lt;/p&gt;
&lt;p&gt;Martijn Coppoolse ArrayTest (super long strings): 20k iterations (1000 iterations):&lt;/p&gt;
&lt;p&gt;	IE: 63ms (2ms)&lt;/p&gt;
&lt;p&gt;	FF:120ms (5ms)&lt;/p&gt;
&lt;p&gt;Keith ArrayTest: 20k iterations (1000 iterations)&lt;/p&gt;
&lt;p&gt;	IE: 164ms (6ms)&lt;/p&gt;
&lt;p&gt;	FF: 312ms (15ms)&lt;/p&gt;
&lt;p&gt;Keith ConcatTest1 (+): 20k iterations (1000 iterations)&lt;/p&gt;
&lt;p&gt;	IE: 43ms (1ms)&lt;/p&gt;
&lt;p&gt;	FF: 76ms (1ms)&lt;/p&gt;
&lt;p&gt;Keith ConcatTest2 (+=): 20k iterations (1000 iterations)&lt;/p&gt;
&lt;p&gt;	IE: 51ms (1ms)&lt;/p&gt;
&lt;p&gt;	FF: 109ms (6ms)&lt;/p&gt;
&lt;p&gt;**** THE CODE ****&lt;/p&gt;
&lt;p&gt;ARRAYTEST&lt;/p&gt;
&lt;p&gt;var before = new Date().getTime();&lt;/p&gt;
&lt;p&gt;var s1 = &amp;quot;11111&amp;quot;;&lt;/p&gt;
&lt;p&gt;var s2 = &amp;quot;22222&amp;quot;;&lt;/p&gt;
&lt;p&gt;count = 20000;&lt;/p&gt;
&lt;p&gt;for (var i = 0; i &amp;lt; count; i++) {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; x = [s1, s2];&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; x.join('');&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;var after = new Date().getTime();&lt;/p&gt;
&lt;p&gt;var time = after - before;&lt;/p&gt;
&lt;p&gt;alert(&amp;quot;ARRAY TEST(.join): Time taken to append '&amp;quot;+s1+&amp;quot;'+'&amp;quot;+s2+&amp;quot;'(=&amp;quot;+x+&amp;quot;) &amp;quot; + count + &amp;quot; times : &amp;quot; + time + &amp;quot; ms&amp;quot;);&lt;/p&gt;
&lt;p&gt;CONCAT TEST1 (+)&lt;/p&gt;
&lt;p&gt;var before = new Date().getTime();&lt;/p&gt;
&lt;p&gt;var s1 = &amp;quot;11111&amp;quot;;&lt;/p&gt;
&lt;p&gt;var s2 = &amp;quot;22222&amp;quot;;&lt;/p&gt;
&lt;p&gt;count = 20000;&lt;/p&gt;
&lt;p&gt;for (var i = 0; i &amp;lt; count; i++) {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; x = s1+s2;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;var after = new Date().getTime();&lt;/p&gt;
&lt;p&gt;var time = after - before;&lt;/p&gt;
&lt;p&gt;alert(&amp;quot;CONCAT1 TEST(+): Time taken to append '&amp;quot;+s1+&amp;quot;'+'&amp;quot;+s2+&amp;quot;'(=&amp;quot;+x+&amp;quot;) &amp;quot; + count + &amp;quot; times : &amp;quot; + time + &amp;quot; ms&amp;quot;);&lt;/p&gt;
&lt;p&gt;CONCAT TEST2 (+=)&lt;/p&gt;
&lt;p&gt;var before = new Date().getTime();&lt;/p&gt;
&lt;p&gt;var s1 = &amp;quot;11111&amp;quot;;&lt;/p&gt;
&lt;p&gt;var s2 = &amp;quot;22222&amp;quot;;&lt;/p&gt;
&lt;p&gt;count = 20000;&lt;/p&gt;
&lt;p&gt;for (var i = 0; i &amp;lt; count; i++) {&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;x = &amp;quot;AAAAA&amp;quot;;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;x += s2;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;var after = new Date().getTime();&lt;/p&gt;
&lt;p&gt;var time = after - before;&lt;/p&gt;
&lt;p&gt;alert(&amp;quot;CONCAT2 TEST(+=): Time taken to append '&amp;quot;+s1+&amp;quot;'+'&amp;quot;+s2+&amp;quot;'(=&amp;quot;+x+&amp;quot;) &amp;quot; + count + &amp;quot; times : &amp;quot; + time + &amp;quot; ms&amp;quot;);&lt;/p&gt;</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#6877353</link><pubDate>Thu, 27 Dec 2007 16:34:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6877353</guid><dc:creator>Jaiprakash</dc:creator><description>&lt;p&gt;Thanks Keith for such detailed example and numbers. I really appreciate it. I agree that I should have stated that problem lies in creating big strings through multiple string concatenation, not small strings. However I feel that contents in the blog convey this. Pls. check out the section &amp;quot;How it affects Real world Scenarios&amp;quot; and the paragraph just above it where I have explained the reason behind IE's slowness.&lt;/p&gt;
&lt;p&gt;One more thing I would like to mention is that most of the Jscript benchmarks floating around do such concatenations to test the string concatenation performance.&lt;/p&gt;
&lt;p&gt; - JP&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#6926208</link><pubDate>Tue, 01 Jan 2008 02:30:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6926208</guid><dc:creator>Josh Stodola</dc:creator><description>&lt;p&gt;While it was overall great to read this, it is horrible, pathetic, and gut-wrenching to hear is that we must wait for the next release of Internet Explorer before we can BEGIN to utilize the fix!&lt;/p&gt;
&lt;p&gt;I don't understand why you can't patch IE7...? Go ahead and take a look and see the stats on how many people currently use IE6.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.w3schools.com/browsers/browsers_stats.asp"&gt;http://www.w3schools.com/browsers/browsers_stats.asp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now consider how long it will be before the majority of IE users will be running the next release (scheduled for 2009?).&lt;/p&gt;
&lt;p&gt;RIDICULOUS.&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#7024430</link><pubDate>Tue, 08 Jan 2008 09:02:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7024430</guid><dc:creator>Ricky</dc:creator><description>&lt;p&gt;Is this algorithm available in IE7 patch?&lt;/p&gt;
&lt;p&gt;Ricky.&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#7026532</link><pubDate>Tue, 08 Jan 2008 13:23:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7026532</guid><dc:creator>Jaiprakash</dc:creator><description>&lt;p&gt;I believe you mean script 5.7. Sorry, it is not there.&lt;/p&gt;
&lt;p&gt;-JP&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#7161266</link><pubDate>Sat, 19 Jan 2008 16:11:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7161266</guid><dc:creator>Webdesign</dc:creator><description>&lt;p&gt;Seems like a vaste of time for me. Even in JScript there are a much better way to concatenate strings than this by using a string builder approach. And we can use that with todays browsers (and of course we all do right?) This is no different from what we should be doing in all the other programming languages we use, because they all have this problem with string copying.&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#7161275</link><pubDate>Sat, 19 Jan 2008 16:12:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7161275</guid><dc:creator>Tweak Vista</dc:creator><description>&lt;p&gt;i suggest mentioning array.join in the article, such that less new programmers have to be lightly bruised with sticks for their crimes. &amp;nbsp;regardless of ie's performance, the problem is not string concatenation, its the people who use it.&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#7161316</link><pubDate>Sat, 19 Jan 2008 16:19:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7161316</guid><dc:creator>Meubelstoffering</dc:creator><description>&lt;p&gt;Nice one JP! But after reading Eric's post that you linked to, I'm really interested to know what algorithm you've used to fix it. Any chance of a behind-the-scenes look?&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#7161318</link><pubDate>Sat, 19 Jan 2008 16:19:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7161318</guid><dc:creator>LFERC</dc:creator><description>&lt;p&gt;&amp;gt; Numbers speak for themselves.&lt;/p&gt;
&lt;p&gt;Very nice! :-)&lt;/p&gt;
&lt;p&gt;&amp;gt; You will have to wait till next release of Internet Explorer.&lt;/p&gt;
&lt;p&gt;Waiting is hard... :-(&lt;/p&gt;
</description></item><item><title>StringBuilder en JavaScript : concatenation de String</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#7744850</link><pubDate>Sun, 17 Feb 2008 05:19:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7744850</guid><dc:creator>Atteint de JavaScriptite Aiguë [Cyril Durand]</dc:creator><description>&lt;p&gt;En JavaScript, comme en .net ou ava, les strings sont immutables cela veut dire que l'objet ne peut pas&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#7932782</link><pubDate>Thu, 28 Feb 2008 13:14:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7932782</guid><dc:creator>timeless</dc:creator><description>&lt;p&gt;please note that &amp;quot;abc&amp;quot;[1] is not required by ECMA. JScript is not doing anything wrong. It's technically an extension.&lt;/p&gt;
</description></item><item><title>JScript in Internet Explorer 8 Beta 1 for Developers</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#8055045</link><pubDate>Wed, 05 Mar 2008 23:53:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8055045</guid><dc:creator>JScript Blog</dc:creator><description>&lt;p&gt;Making developers more productive through the design, development, and debug phases of web application&lt;/p&gt;
</description></item><item><title>IE8 Beta1 is available</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#8090159</link><pubDate>Fri, 07 Mar 2008 10:45:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8090159</guid><dc:creator>Visual Studio to Internet Explore...</dc:creator><description>&lt;p&gt;IE8 Beta1 is now available here . It has remarkable script improvements in JScript performance. It also&lt;/p&gt;
</description></item><item><title>Insight into String Concatenation in JScript</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#8325441</link><pubDate>Wed, 19 Mar 2008 13:54:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8325441</guid><dc:creator>JScript Blog</dc:creator><description>&lt;p&gt;Hello Friends, Have you read my post on the String Concatenation issue? If yes, then I can sense your&lt;/p&gt;
</description></item><item><title>re: Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#8833927</link><pubDate>Tue, 05 Aug 2008 15:48:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8833927</guid><dc:creator>RobG</dc:creator><description>&lt;p&gt;Good to see you are working on this, but IE is still way slower than other browsers.&lt;/p&gt;
</description></item><item><title>possibly related - Performance issues with "String Concatenation" in JScript.</title><link>http://blogs.msdn.com/jscript/archive/2007/10/17/performance-issues-with-string-concatenation-in-jscript.aspx#9317313</link><pubDate>Wed, 14 Jan 2009 01:10:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9317313</guid><dc:creator>Mr. Raymond Kenneth Petry</dc:creator><description>&lt;p&gt;Dear JP☺,&lt;/p&gt;
&lt;p&gt;My application is a screenplayformatter, so I get lots of performance issues (my screenplays are particularly big: 2hr-4hr, 9hr the latest) and I've been improving it 2-years since my first attempt pre contenteditable (I use some neat 'tricks' eg. to get all indentations of a type to adjust at-once, disabled=true,false)!&lt;/p&gt;
&lt;p&gt;Here's a current issue: I'd like to generalize my script-source to include doc/rtf/txt/html... anything that 'looks' like a script ...&lt;/p&gt;
&lt;p&gt;But,--&lt;/p&gt;
&lt;p&gt;Copy-Paste takes an inordinate amount of time ('ordinateur', is French for computer)-- when the source is rtf: MSIE-itself converts quickly to html, but paste-html into contenteditable-- takes yah-yah-yah... Okay... So,-- I'd like to catch the html from the clipBoard and condense the long P-SPAN-O:P-...(on every line) leaving just the indentation for my pre-parser ... BUT clipBoard html isn't available... just-- text.&lt;/p&gt;
&lt;p&gt;I'd like the html or indentationed-html source from the clipBoard.... Please, and, Thank you.&lt;/p&gt;
&lt;p&gt;Cordially, sincerely,&lt;/p&gt;
&lt;p&gt;Ray.&lt;/p&gt;
&lt;p&gt;P.S. You know why I paste into contenteditable: WRAP, takes inordinate time; So, I wrapper the DIV in CITE to get the fastest onPaste=getData ca 3 sec./MB,- and okay for a 6hr script. Ray.&lt;/p&gt;
</description></item></channel></rss>