<?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: Optimize Late, Benchmark Early</title>
	<atom:link href="http://www.hans-eric.com/2007/11/23/optimize-late-benchmark-early/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hans-eric.com/2007/11/23/optimize-late-benchmark-early/</link>
	<description>Hans-Eric Grönlund on software development</description>
	<lastBuildDate>Thu, 29 Jul 2010 15:10:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: mccoyn</title>
		<link>http://www.hans-eric.com/2007/11/23/optimize-late-benchmark-early/comment-page-1/#comment-1164</link>
		<dc:creator>mccoyn</dc:creator>
		<pubDate>Mon, 26 Nov 2007 19:52:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/11/23/optimize-late-benchmark-early/#comment-1164</guid>
		<description>The only time I&#039;ll optimize early is when the implementation is so slow that it bothers me while I&#039;m testing or debugging.  In other words, when it is blatantly obvious that it will be a problem.

Optimizations have a habit of making code more complicated.  Optimizing feature A might take one hour and add 30 minutes to the time to implement feature B later, so its better to implement feature B before optimizing feature A.  Also, it is better to never optimize feature A if you can get away with it (thus benchmark before optimize.)</description>
		<content:encoded><![CDATA[<p>The only time I&#8217;ll optimize early is when the implementation is so slow that it bothers me while I&#8217;m testing or debugging.  In other words, when it is blatantly obvious that it will be a problem.</p>
<p>Optimizations have a habit of making code more complicated.  Optimizing feature A might take one hour and add 30 minutes to the time to implement feature B later, so its better to implement feature B before optimizing feature A.  Also, it is better to never optimize feature A if you can get away with it (thus benchmark before optimize.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/11/23/optimize-late-benchmark-early/comment-page-1/#comment-1138</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Sat, 24 Nov 2007 08:54:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/11/23/optimize-late-benchmark-early/#comment-1138</guid>
		<description>Paul, you&#039;re the kind of developer I&#039;d love to work with.</description>
		<content:encoded><![CDATA[<p>Paul, you&#8217;re the kind of developer I&#8217;d love to work with.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul W. Homer</title>
		<link>http://www.hans-eric.com/2007/11/23/optimize-late-benchmark-early/comment-page-1/#comment-1127</link>
		<dc:creator>Paul W. Homer</dc:creator>
		<pubDate>Fri, 23 Nov 2007 20:07:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/11/23/optimize-late-benchmark-early/#comment-1127</guid>
		<description>For me, I use the architecture to draw &#039;lines&#039; in the system, partitioning it into lots of smaller pieces. When I build the initial version, I tend towards overly simple implementations for all of the pieces. 

In later iterations -- depending on need -- I usually start upgrading the models, algorithms or interfaces to accommodate more efficient or expanded versions of the components. I don&#039;t like to go straight into the optimized version mostly because I often don&#039;t fully understand the problem domain until I&#039;ve seen the code run in a real environment for a while. If I am wrong in my initial understanding, optimizing wastes a lot of valuable time.

Typically, in the early years that generally leaves parts of the system as being very crude, while other parts have been significantly enhanced. That&#039;s ok, and not a bad way of dealing with limited time. It all depends on the external factors in the project;  politics frequently overrides technical requirements.


Paul.</description>
		<content:encoded><![CDATA[<p>For me, I use the architecture to draw &#8216;lines&#8217; in the system, partitioning it into lots of smaller pieces. When I build the initial version, I tend towards overly simple implementations for all of the pieces. </p>
<p>In later iterations &#8212; depending on need &#8212; I usually start upgrading the models, algorithms or interfaces to accommodate more efficient or expanded versions of the components. I don&#8217;t like to go straight into the optimized version mostly because I often don&#8217;t fully understand the problem domain until I&#8217;ve seen the code run in a real environment for a while. If I am wrong in my initial understanding, optimizing wastes a lot of valuable time.</p>
<p>Typically, in the early years that generally leaves parts of the system as being very crude, while other parts have been significantly enhanced. That&#8217;s ok, and not a bad way of dealing with limited time. It all depends on the external factors in the project;  politics frequently overrides technical requirements.</p>
<p>Paul.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.312 seconds -->
