<?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: Delphi 2009: TStringBuilder (Recap and Benchmark)</title>
	<atom:link href="http://www.monien.net/blog/index.php" rel="self" type="application/rss+xml" />
	<link>http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/</link>
	<description>Delphi Programming, .NET Philosophy, Web development and more ...</description>
	<lastBuildDate>Wed, 01 Feb 2012 18:00:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
	<item>
		<title>By: Eczema Treatments</title>
		<link>http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/comment-page-1/#comment-4600</link>
		<dc:creator>Eczema Treatments</dc:creator>
		<pubDate>Wed, 15 Dec 2010 17:30:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/#comment-4600</guid>
		<description>hi Worked great for me with Delphi 2007 on Windows 7 to fix this annoying problem. </description>
		<content:encoded><![CDATA[<p>hi Worked great for me with Delphi 2007 on Windows 7 to fix this annoying problem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pimpert</title>
		<link>http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/comment-page-1/#comment-432</link>
		<dc:creator>pimpert</dc:creator>
		<pubDate>Fri, 22 May 2009 20:36:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/#comment-432</guid>
		<description>It’s a lot easier to junk windows explorer and get Firefox and FireFTP &lt;a href=&quot;http://rapid4me.com/?q=FireFTP&quot; rel=&quot;nofollow&quot;&gt;http://rapid4me.com/?q=FireFTP&lt;/a&gt; , which you can have open in a tab. Firefox is noticeably quicker than IE.</description>
		<content:encoded><![CDATA[<p>It’s a lot easier to junk windows explorer and get Firefox and FireFTP <a href="http://rapid4me.com/?q=FireFTP" rel="nofollow">http://rapid4me.com/?q=FireFTP</a> , which you can have open in a tab. Firefox is noticeably quicker than IE.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Once more: Unicode performance in Delphi 2009 B. Peuthert</title>
		<link>http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/comment-page-1/#comment-65</link>
		<dc:creator>Once more: Unicode performance in Delphi 2009 B. Peuthert</dc:creator>
		<pubDate>Sun, 19 Oct 2008 15:56:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/#comment-65</guid>
		<description>[...] Once more: Unicode performance in Delphi&#160;2009  It is not really surprising that the Unicode support of Delphi 2009 is a big issue for us Delphi developers. And I&#039;m not surprised that many people playing around and examine string operations with Unicode. But I&#039;m wondering about the direction these tests take. Unicode is a multi byte char set therefore it uses a lot more memory than an AnsiString would. But this is something nobody seems to care about. For example take a look in the blog of Lars and in the one of Olaf Monien. [...]</description>
		<content:encoded><![CDATA[<p>[...] Once more: Unicode performance in Delphi&nbsp;2009  It is not really surprising that the Unicode support of Delphi 2009 is a big issue for us Delphi developers. And I&#8217;m not surprised that many people playing around and examine string operations with Unicode. But I&#8217;m wondering about the direction these tests take. Unicode is a multi byte char set therefore it uses a lot more memory than an AnsiString would. But this is something nobody seems to care about. For example take a look in the blog of Lars and in the one of Olaf Monien. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric</title>
		<link>http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/comment-page-1/#comment-64</link>
		<dc:creator>Eric</dc:creator>
		<pubDate>Thu, 16 Oct 2008 22:37:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/#comment-64</guid>
		<description>You&#039;re actually hitting a corner case of TStringBuilder here, in practice it&#039;ll be slower, but of speed comparable to String. And you don&#039;t need to benchmarks, artificial or not to know that: you just need to look at the implementation.&lt;br&gt;TStringBuilder is implemented around a dynamic array, meaning that it&#039;s performance is going to be in the same ballpark as Strings, as the VCL internals for growth and data copy are the same. Differences are going to come from the overhead of the respective function calls.&lt;br&gt;&lt;br&gt;Incidentally this means String will win (all the time) against TStringBuilder whenever you concat more than one string at once (s:=s+s1+s2+...), because the RTL has a function for that (which will realloc only once), whereas TStringBuilder doesn&#039;t.</description>
		<content:encoded><![CDATA[<p>You&#39;re actually hitting a corner case of TStringBuilder here, in practice it&#39;ll be slower, but of speed comparable to String. And you don&#39;t need to benchmarks, artificial or not to know that: you just need to look at the implementation.<br />TStringBuilder is implemented around a dynamic array, meaning that it&#39;s performance is going to be in the same ballpark as Strings, as the VCL internals for growth and data copy are the same. Differences are going to come from the overhead of the respective function calls.</p>
<p>Incidentally this means String will win (all the time) against TStringBuilder whenever you concat more than one string at once (s:=s+s1+s2+&#8230;), because the RTL has a function for that (which will realloc only once), whereas TStringBuilder doesn&#39;t.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olaf Monien</title>
		<link>http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/comment-page-1/#comment-28</link>
		<dc:creator>Olaf Monien</dc:creator>
		<pubDate>Wed, 15 Oct 2008 14:33:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/#comment-28</guid>
		<description>{$StringChecks OFF} seems to have very little Influence for me. I&#039;ve added the full DPR file in the post above</description>
		<content:encoded><![CDATA[<p>{$StringChecks OFF} seems to have very little Influence for me. I&#39;ve added the full DPR file in the post above</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Binis</title>
		<link>http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/comment-page-1/#comment-27</link>
		<dc:creator>Binis</dc:creator>
		<pubDate>Wed, 15 Oct 2008 14:26:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/#comment-27</guid>
		<description>I did test this with kind of similar code but with stringchecks set to off and appending bigger strings At it turns out that StringBuilder is slower than normal operations...</description>
		<content:encoded><![CDATA[<p>I did test this with kind of similar code but with stringchecks set to off and appending bigger strings At it turns out that StringBuilder is slower than normal operations&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars D</title>
		<link>http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/comment-page-1/#comment-26</link>
		<dc:creator>Lars D</dc:creator>
		<pubDate>Wed, 15 Oct 2008 13:47:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/#comment-26</guid>
		<description>Strictly speaking, with the stringbuilder, you also need to get the final result inside your benchmark, in order to achieve the same results as the second benchmark.</description>
		<content:encoded><![CDATA[<p>Strictly speaking, with the stringbuilder, you also need to get the final result inside your benchmark, in order to achieve the same results as the second benchmark.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Olaf Monien</title>
		<link>http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/comment-page-1/#comment-25</link>
		<dc:creator>Olaf Monien</dc:creator>
		<pubDate>Tue, 14 Oct 2008 21:29:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/#comment-25</guid>
		<description>That replace advantage is indeed interesting.</description>
		<content:encoded><![CDATA[<p>That replace advantage is indeed interesting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bruce McGee</title>
		<link>http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/comment-page-1/#comment-24</link>
		<dc:creator>Bruce McGee</dc:creator>
		<pubDate>Tue, 14 Oct 2008 20:55:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.monien.net/blog/index.php/2008/10/delphi-2009-tstringbuilder/#comment-24</guid>
		<description>I&#039;m kind of a broken record on this, but I&#039;m happy for the addition for better code compatibility between Delphi in Win32 and .Net.  Particularly for library code that is intended to be used everywhere.  Even though I&#039;m still stinging a little about losing VCL.Net.&lt;br&gt;&lt;br&gt;Another example; TStringBuilder.Replace is about 3 times faster than StringReplace.</description>
		<content:encoded><![CDATA[<p>I&#39;m kind of a broken record on this, but I&#39;m happy for the addition for better code compatibility between Delphi in Win32 and .Net.  Particularly for library code that is intended to be used everywhere.  Even though I&#39;m still stinging a little about losing VCL.Net.</p>
<p>Another example; TStringBuilder.Replace is about 3 times faster than StringReplace.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

