<?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: Performance tip of the day</title>
	<atom:link href="http://weblog.savanne.be/153-performance-tip-of-the-day/feed" rel="self" type="application/rss+xml" />
	<link>http://weblog.savanne.be/153-performance-tip-of-the-day</link>
	<description></description>
	<lastBuildDate>Tue, 07 Feb 2012 17:19:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Andrew Conkling</title>
		<link>http://weblog.savanne.be/153-performance-tip-of-the-day#comment-15256</link>
		<dc:creator>Andrew Conkling</dc:creator>
		<pubDate>Fri, 30 Jan 2009 01:14:17 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/153-performance-tip-of-the-day#comment-15256</guid>
		<description>Marius: Jeremy&#039;s tip about it running this command with Firefox running still is sorta valid; it won&#039;t optimize Firefox&#039;s databases, but it won&#039;t harm them either.

So if you&#039;re setting up a cron job, it will do its thing on whichever databases are available. It&#039;s not the kind of thing you&#039;d need to run every day, so just make sure you have Firefox (or your other apps) closed at least sometimes. ;)

Also, this wouldn&#039;t pick up any sqlite databases that don&#039;t end in &quot;.sqlite&quot;, so there could be further gains to be made here. For example, I ran this on Banshee&#039;s database (~/.config/banshee-1/banshee.db) and found a decent performance gain in the application.</description>
		<content:encoded><![CDATA[<p>Marius: Jeremy&#8217;s tip about it running this command with Firefox running still is sorta valid; it won&#8217;t optimize Firefox&#8217;s databases, but it won&#8217;t harm them either.</p>
<p>So if you&#8217;re setting up a cron job, it will do its thing on whichever databases are available. It&#8217;s not the kind of thing you&#8217;d need to run every day, so just make sure you have Firefox (or your other apps) closed at least sometimes. ;)</p>
<p>Also, this wouldn&#8217;t pick up any sqlite databases that don&#8217;t end in &#8220;.sqlite&#8221;, so there could be further gains to be made here. For example, I ran this on Banshee&#8217;s database (~/.config/banshee-1/banshee.db) and found a decent performance gain in the application.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marius Scurtescu</title>
		<link>http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14633</link>
		<dc:creator>Marius Scurtescu</dc:creator>
		<pubDate>Fri, 09 Jan 2009 17:51:21 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14633</guid>
		<description>@Jeremy

Not sure about sqlite having correct locking and database semantics, but you definitely get an error if Firefox is running: &quot;SQL error: database is locked&quot;.

Got that on both Linux and Mac OS X.</description>
		<content:encoded><![CDATA[<p>@Jeremy</p>
<p>Not sure about sqlite having correct locking and database semantics, but you definitely get an error if Firefox is running: &#8220;SQL error: database is locked&#8221;.</p>
<p>Got that on both Linux and Mac OS X.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SchAmane</title>
		<link>http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14590</link>
		<dc:creator>SchAmane</dc:creator>
		<pubDate>Thu, 08 Jan 2009 12:26:47 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14590</guid>
		<description>WOW, thanks for this tip!</description>
		<content:encoded><![CDATA[<p>WOW, thanks for this tip!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill</title>
		<link>http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14542</link>
		<dc:creator>Bill</dc:creator>
		<pubDate>Wed, 07 Jan 2009 15:15:01 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14542</guid>
		<description>There should be an addon that does this once a month or so, as a stopgap before it&#039;s added into Firefox (or Gecko) proper.</description>
		<content:encoded><![CDATA[<p>There should be an addon that does this once a month or so, as a stopgap before it&#8217;s added into Firefox (or Gecko) proper.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pacho Ramos</title>
		<link>http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14540</link>
		<dc:creator>Pacho Ramos</dc:creator>
		<pubDate>Wed, 07 Jan 2009 13:34:56 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14540</guid>
		<description>OK, thanks for the info :-)</description>
		<content:encoded><![CDATA[<p>OK, thanks for the info :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy</title>
		<link>http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14539</link>
		<dc:creator>Jeremy</dc:creator>
		<pubDate>Wed, 07 Jan 2009 12:24:17 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14539</guid>
		<description>sqlite has correct locking and database semantics, so you should be able to do this with firefox running.</description>
		<content:encoded><![CDATA[<p>sqlite has correct locking and database semantics, so you should be able to do this with firefox running.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pacho Ramos</title>
		<link>http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14537</link>
		<dc:creator>Pacho Ramos</dc:creator>
		<pubDate>Wed, 07 Jan 2009 09:49:10 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14537</guid>
		<description>To Richard Rebel:

About adding it to a cron job, Should script check if any firefox instance is running? Would it break &quot;something&quot; if it&#039;s run while firefox is running?

Thanks for information</description>
		<content:encoded><![CDATA[<p>To Richard Rebel:</p>
<p>About adding it to a cron job, Should script check if any firefox instance is running? Would it break &#8220;something&#8221; if it&#8217;s run while firefox is running?</p>
<p>Thanks for information</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lee Willis</title>
		<link>http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14536</link>
		<dc:creator>Lee Willis</dc:creator>
		<pubDate>Wed, 07 Jan 2009 09:18:09 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14536</guid>
		<description>On Windows you&#039;ll probably have to install sqlite3 (http://www.sqlite.org/download.html)

Then (Assuming that the binary is in your Windows path) you can change to the Mozilla Profile directory 

C:Documents and Settings&lt;Your Windows Username&gt;Application DataMozillaFirefoxProfiles&lt;random digits&gt;.default/

and run:

sqlite3 places.sqlite &quot;VACUUM;&quot;

Replacing places.sqlite with the file you want to compact - sorry I&#039;m not familiar enough with Windows scripting to work out how to automatically do it for every file - for me the only large sqlite files were:
- places.sqlite
- urlclassifier2.sqlite</description>
		<content:encoded><![CDATA[<p>On Windows you&#8217;ll probably have to install sqlite3 (<a href="http://www.sqlite.org/download.html" rel="nofollow">http://www.sqlite.org/download.html</a>)</p>
<p>Then (Assuming that the binary is in your Windows path) you can change to the Mozilla Profile directory </p>
<p>C:Documents and Settings<your Windows Username>Application DataMozillaFirefoxProfiles<random digits>.default/</p>
<p>and run:</p>
<p>sqlite3 places.sqlite &#8220;VACUUM;&#8221;</p>
<p>Replacing places.sqlite with the file you want to compact &#8211; sorry I&#8217;m not familiar enough with Windows scripting to work out how to automatically do it for every file &#8211; for me the only large sqlite files were:<br />
- places.sqlite<br />
- urlclassifier2.sqlite</random></your></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jshare</title>
		<link>http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14534</link>
		<dc:creator>jshare</dc:creator>
		<pubDate>Wed, 07 Jan 2009 06:28:09 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14534</guid>
		<description>For windows:
   * get sqlite3 from here:
      * http://www.sqlite.org/sqlite-3_6_7.zip
      * http://www.sqlite.org/sqlitedll-3_6_7.zip
   * unzip them both into c:windowssystem32
   * cd to your profile directory (there may be an easier way to specify this from the commandline, but I don&#039;t know cmd globbing that well)
   * for %f in (*sqlite) do sqlite3 %f &quot;VACUUM;&quot;
      * note: quotes instead of apostrophes</description>
		<content:encoded><![CDATA[<p>For windows:<br />
   * get sqlite3 from here:<br />
      * <a href="http://www.sqlite.org/sqlite-3_6_7.zip" rel="nofollow">http://www.sqlite.org/sqlite-3_6_7.zip</a><br />
      * <a href="http://www.sqlite.org/sqlitedll-3_6_7.zip" rel="nofollow">http://www.sqlite.org/sqlitedll-3_6_7.zip</a><br />
   * unzip them both into c:windowssystem32<br />
   * cd to your profile directory (there may be an easier way to specify this from the commandline, but I don&#8217;t know cmd globbing that well)<br />
   * for %f in (*sqlite) do sqlite3 %f &#8220;VACUUM;&#8221;<br />
      * note: quotes instead of apostrophes</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek A. Muenzel, Sr.</title>
		<link>http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14533</link>
		<dc:creator>Derek A. Muenzel, Sr.</dc:creator>
		<pubDate>Wed, 07 Jan 2009 05:43:03 +0000</pubDate>
		<guid isPermaLink="false">http://weblog.savanne.be/153-performance-tip-of-the-day#comment-14533</guid>
		<description>Not a complete windows HOWTO but this will get you there:

1) Download the Precompiled Binaries For Windows http://www.sqlite.org/download.html.

2) I extracted the file to C:bin.

3) Change into the directory containing the .sqlite files. Example: cd C:Documents and SettingsrootApplication DateMozillaFirefoxl89ueo7d.default

4) Get a before shot: dir *.sqlite

5) Run the VACUUM: for %f in (*.sqlite) do C:binsqlite3.exe %f &quot;VACUUM;&quot;

6) Get an after shot: dir *sqlite

My results:
BEFORE
11/25/2008  01:39 PM             7,168 content-prefs.sqlite
01/04/2009  08:15 PM           178,176 cookies.sqlite
01/06/2009  11:54 PM           744,448 downloads.sqlite
01/06/2009  11:54 PM           576,512 formhistory.sqlite
01/02/2009  05:14 PM           191,488 kongregate.sqlite
11/03/2008  02:37 PM             2,048 permissions.sqlite
01/06/2009  11:54 PM        50,679,808 places.sqlite
08/06/2008  01:11 PM             2,048 search.sqlite
12/30/2008  05:43 PM             4,096 webappsstore.sqlite

AFTER
01/07/2009  12:38 AM             7,168 content-prefs.sqlite
01/07/2009  12:38 AM            99,328 cookies.sqlite
01/07/2009  12:38 AM           389,120 downloads.sqlite
01/07/2009  12:38 AM           558,080 formhistory.sqlite
01/07/2009  12:38 AM           186,368 kongregate.sqlite
01/07/2009  12:38 AM             2,048 permissions.sqlite
01/07/2009  12:39 AM        42,889,216 places.sqlite
01/07/2009  12:39 AM             2,048 search.sqlite
01/07/2009  12:39 AM             2,048 webappsstore.sqlite</description>
		<content:encoded><![CDATA[<p>Not a complete windows HOWTO but this will get you there:</p>
<p>1) Download the Precompiled Binaries For Windows <a href="http://www.sqlite.org/download.html" rel="nofollow">http://www.sqlite.org/download.html</a>.</p>
<p>2) I extracted the file to C:bin.</p>
<p>3) Change into the directory containing the .sqlite files. Example: cd C:Documents and SettingsrootApplication DateMozillaFirefoxl89ueo7d.default</p>
<p>4) Get a before shot: dir *.sqlite</p>
<p>5) Run the VACUUM: for %f in (*.sqlite) do C:binsqlite3.exe %f &#8220;VACUUM;&#8221;</p>
<p>6) Get an after shot: dir *sqlite</p>
<p>My results:<br />
BEFORE<br />
11/25/2008  01:39 PM             7,168 content-prefs.sqlite<br />
01/04/2009  08:15 PM           178,176 cookies.sqlite<br />
01/06/2009  11:54 PM           744,448 downloads.sqlite<br />
01/06/2009  11:54 PM           576,512 formhistory.sqlite<br />
01/02/2009  05:14 PM           191,488 kongregate.sqlite<br />
11/03/2008  02:37 PM             2,048 permissions.sqlite<br />
01/06/2009  11:54 PM        50,679,808 places.sqlite<br />
08/06/2008  01:11 PM             2,048 search.sqlite<br />
12/30/2008  05:43 PM             4,096 webappsstore.sqlite</p>
<p>AFTER<br />
01/07/2009  12:38 AM             7,168 content-prefs.sqlite<br />
01/07/2009  12:38 AM            99,328 cookies.sqlite<br />
01/07/2009  12:38 AM           389,120 downloads.sqlite<br />
01/07/2009  12:38 AM           558,080 formhistory.sqlite<br />
01/07/2009  12:38 AM           186,368 kongregate.sqlite<br />
01/07/2009  12:38 AM             2,048 permissions.sqlite<br />
01/07/2009  12:39 AM        42,889,216 places.sqlite<br />
01/07/2009  12:39 AM             2,048 search.sqlite<br />
01/07/2009  12:39 AM             2,048 webappsstore.sqlite</p>
]]></content:encoded>
	</item>
</channel>
</rss>

