<story><title>SQLite 3.8.7 is 50% faster than 3.7.17</title><url>http://permalink.gmane.org/gmane.comp.db.sqlite.general/90549</url></story><parent_chain><item><author>zamalek</author><text>I&amp;#x27;m glad to see something like this. People often take the typical optimization mantra too far. The minute you mention optimization on most internet forums (especially StackOverflow) you get slammed for promoting &amp;quot;premature optimization.&amp;quot;&lt;p&gt;That&amp;#x27;s not to say premature optimization doesn&amp;#x27;t exist. Sometimes writing faster code is the difference between using a hash instead of a list. Sometimes it&amp;#x27;s spending an entire day optimizing a function that&amp;#x27;s called once. The former is performance aware, the later is premature. It seems as though most would have you believe that they both fall into the &amp;quot;premature&amp;quot; bucket.&lt;p&gt;It&amp;#x27;s as though people are using it as an excuse for their personal ignorance and would rather continue to revel in this ignorance than expand what they know. As far as I am concerned these &amp;quot;unimportant tidbits&amp;quot; about performance are gifts that keep giving.&lt;p&gt;&amp;#x2F;somewhat offtopic rant</text></item></parent_chain><comment><author>grokys</author><text>Yes, but it&amp;#x27;s unlikely that someone asking &amp;quot;is it faster to concatenate strings in C# using the + operator or StringBuilder&amp;quot; on StackOverflow is someone that is writing a low-level database engine like SQLite. In my (totally anecdotal) experience the people who are more concerned about performance are beginners, because that is something that they can grasp, and this is where the &amp;quot;don&amp;#x27;t prematurely optimize&amp;quot; people are coming from. Obviously someone who is writing a low-level database engine knows that performance matters, and likewise, is likely to be running benchmarks rather than asking vague questions on SO.</text></comment>
<story><title>SQLite 3.8.7 is 50% faster than 3.7.17</title><url>http://permalink.gmane.org/gmane.comp.db.sqlite.general/90549</url></story><parent_chain><item><author>zamalek</author><text>I&amp;#x27;m glad to see something like this. People often take the typical optimization mantra too far. The minute you mention optimization on most internet forums (especially StackOverflow) you get slammed for promoting &amp;quot;premature optimization.&amp;quot;&lt;p&gt;That&amp;#x27;s not to say premature optimization doesn&amp;#x27;t exist. Sometimes writing faster code is the difference between using a hash instead of a list. Sometimes it&amp;#x27;s spending an entire day optimizing a function that&amp;#x27;s called once. The former is performance aware, the later is premature. It seems as though most would have you believe that they both fall into the &amp;quot;premature&amp;quot; bucket.&lt;p&gt;It&amp;#x27;s as though people are using it as an excuse for their personal ignorance and would rather continue to revel in this ignorance than expand what they know. As far as I am concerned these &amp;quot;unimportant tidbits&amp;quot; about performance are gifts that keep giving.&lt;p&gt;&amp;#x2F;somewhat offtopic rant</text></item></parent_chain><comment><author>Shog9</author><text>The other response you&amp;#x27;ll see all the time? &amp;quot;Measure it!&amp;quot;&lt;p&gt;Low-level optimization is not a task to be undertaken casually. If you don&amp;#x27;t know where to look, you can end up just wasting a lot of programmer time for zero real-world benefit. If you don&amp;#x27;t measure before &lt;i&gt;and&lt;/i&gt; after, you may even make things worse...&lt;p&gt;The SQLite folks didn&amp;#x27;t make these changes with a hope and a prayer; they carefully profiled, changed, and profiled again... And they invested &lt;i&gt;years&lt;/i&gt; in building a test suite to ensure that such micro-optimizations don&amp;#x27;t inadvertently break the logic. The results are impressive, but so was the time and effort invested in achieving them. If you&amp;#x27;re not willing to be so diligent, &amp;quot;premature optimization&amp;quot; is exactly what you&amp;#x27;re doing.</text></comment>