<?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: begin&#8230;end as bottlenecks?</title>
	<atom:link href="http://delphitools.info/2009/03/25/beginend-as-bottlenecks/feed/" rel="self" type="application/rss+xml" />
	<link>http://delphitools.info/2009/03/25/beginend-as-bottlenecks/</link>
	<description>SamplingProfiler, DWS and other Delphi tools</description>
	<lastBuildDate>Fri, 03 Feb 2012 09:15:27 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Eric</title>
		<link>http://delphitools.info/2009/03/25/beginend-as-bottlenecks/comment-page-1/#comment-72</link>
		<dc:creator>Eric</dc:creator>
		<pubDate>Thu, 26 Mar 2009 09:08:51 +0000</pubDate>
		<guid isPermaLink="false">http://delphitools.info/?p=68#comment-72</guid>
		<description>Marco: const can improve the situation at the call point on types such as strings, records or interfaces, but for integers, it does nothing. The copy a shuffling isn&#039;t related to the index parameter but to the interface result.

Jens: knowing what NOT to optimize is just as important as knowing what to optimize, that&#039;s what all the premature optimization thing is actually about: applying efforts where and only if it will matter.
The whole point here is that with an instrumenting profiler and information at the procedure level (and likely inflated by an heisenbug effect), you would have been left trying to optimize the code that&#039;s in the procedure, code which isn&#039;t the source of the slowdown, thus wasting your time.
As for the solution in this particular case, it&#039;s about taking care of the calls into that GetItem rather than the GetItem itself. Other begin-end bottleneck situations can have different solutions, which will be discussed later on :)</description>
		<content:encoded><![CDATA[<p>Marco: const can improve the situation at the call point on types such as strings, records or interfaces, but for integers, it does nothing. The copy a shuffling isn&#8217;t related to the index parameter but to the interface result.</p>
<p>Jens: knowing what NOT to optimize is just as important as knowing what to optimize, that&#8217;s what all the premature optimization thing is actually about: applying efforts where and only if it will matter.<br />
The whole point here is that with an instrumenting profiler and information at the procedure level (and likely inflated by an heisenbug effect), you would have been left trying to optimize the code that&#8217;s in the procedure, code which isn&#8217;t the source of the slowdown, thus wasting your time.<br />
As for the solution in this particular case, it&#8217;s about taking care of the calls into that GetItem rather than the GetItem itself. Other begin-end bottleneck situations can have different solutions, which will be discussed later on <img src='http://delphitools.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jens Borrisholt</title>
		<link>http://delphitools.info/2009/03/25/beginend-as-bottlenecks/comment-page-1/#comment-71</link>
		<dc:creator>Jens Borrisholt</dc:creator>
		<pubDate>Thu, 26 Mar 2009 08:20:49 +0000</pubDate>
		<guid isPermaLink="false">http://delphitools.info/?p=68#comment-71</guid>
		<description>Exactly what was the point of this article ? You claim &quot;Yes, those are the are the begin and end lines taking up more than 70% of the CPU time spent inside GetItem&quot;, but exactly what do you want us to do about it?

You have writen an article with no points at all ...

&quot;Here is a problem&quot; ... Fine and how to deal with it ?</description>
		<content:encoded><![CDATA[<p>Exactly what was the point of this article ? You claim &#8220;Yes, those are the are the begin and end lines taking up more than 70% of the CPU time spent inside GetItem&#8221;, but exactly what do you want us to do about it?</p>
<p>You have writen an article with no points at all &#8230;</p>
<p>&#8220;Here is a problem&#8221; &#8230; Fine and how to deal with it ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marco Sangali</title>
		<link>http://delphitools.info/2009/03/25/beginend-as-bottlenecks/comment-page-1/#comment-64</link>
		<dc:creator>Marco Sangali</dc:creator>
		<pubDate>Wed, 25 Mar 2009 14:05:39 +0000</pubDate>
		<guid isPermaLink="false">http://delphitools.info/?p=68#comment-64</guid>
		<description>Wouldn&#039;t defining index as const improve the situation, as there will be no need of a local copy of the value?
Best Regards</description>
		<content:encoded><![CDATA[<p>Wouldn&#8217;t defining index as const improve the situation, as there will be no need of a local copy of the value?<br />
Best Regards</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- This Quick Cache file was built for (  www.delphitools.info/2009/03/25/beginend-as-bottlenecks/feed/ ) in 1.83809 seconds, on Feb 4th, 2012 at 2:17 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 5th, 2012 at 2:17 pm UTC -->
