<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Marcus Povey &#187; optimisation</title>
	<atom:link href="http://www.marcus-povey.co.uk/tag/optimisation/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcus-povey.co.uk</link>
	<description>Making the world a better place, one byte at a time...</description>
	<lastBuildDate>Fri, 16 Jul 2010 09:00:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<atom:link rel='hub' href='http://www.marcus-povey.co.uk/?pushpress=hub'/>
		<item>
		<title>Weekly roundup: Caching in</title>
		<link>http://www.marcus-povey.co.uk/2008/11/07/weekly-roundup-caching-in/</link>
		<comments>http://www.marcus-povey.co.uk/2008/11/07/weekly-roundup-caching-in/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 17:28:50 +0000</pubDate>
		<dc:creator>Marcus Povey</dc:creator>
				<category><![CDATA[elgg]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[memcache]]></category>
		<category><![CDATA[optimisation]]></category>

		<guid isPermaLink="false">http://www.marcus-povey.co.uk/?p=114</guid>
		<description><![CDATA[This week saw the election of a new president of America &#8211; triggering a massive spike in hope levels worldwide. At last the Bush years are drawing to a close. On the Elgg front, I spent a good portion of the week optimising various parts of the system and drastically reducing the number of queries [...]]]></description>
			<content:encoded><![CDATA[<p>This week saw the election of a new president of America &#8211; triggering a massive spike in hope levels worldwide. At last the Bush years are drawing to a close.</p>
<p>On the Elgg front, I spent a good portion of the week optimising various parts of the system and drastically reducing the number of queries per page. </p>
<p>A lot of this was done by introducing a query cache into database.php which caches the results of individual queries. I also introduced some new delayed execution functionality on database queries &#8211; letting you delay some database operations until after the page has been sent to the browser.</p>
<p>All of these tweaks have slashed the number of queries being executed per page.</p>
<p>This week I also began to experiment with <a href="http://www.danga.com/memcached/">memcache</a> &#8211; currently caching entities, datalists, metastrings and meta data. Reducing the number of queries per page to ~7 once the cache has been populated.</p>
<p>I also did a little bit of work on the activity stream, river and syndication&#8230; but more on this later&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcus-povey.co.uk/2008/11/07/weekly-roundup-caching-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The lesson this week&#8230;</title>
		<link>http://www.marcus-povey.co.uk/2008/10/07/the-lesson-this-week/</link>
		<comments>http://www.marcus-povey.co.uk/2008/10/07/the-lesson-this-week/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 17:40:00 +0000</pubDate>
		<dc:creator>Marcus Povey</dc:creator>
				<category><![CDATA[elgg]]></category>
		<category><![CDATA[optimisation]]></category>
		<category><![CDATA[river]]></category>

		<guid isPermaLink="false">http://www.marcus-povey.co.uk/?p=90</guid>
		<description><![CDATA[The lesson this week has got to be &#8220;Profiling is a Good Thing&#8221;. While working on the new Elgg community site this week, it quickly became clear that the way the River code was written was horribly inefficient. So, I had to optimise it. Unfortunately this necessitated a schema change to the system log (a [...]]]></description>
			<content:encoded><![CDATA[<p>The lesson this week has got to be &#8220;Profiling is a Good Thing&#8221;. While working on the new <a href="http://community.elgg.org">Elgg community site</a> this week, it quickly became clear that the way the River code was written was horribly inefficient.</p>
<p>So, I had to optimise it.</p>
<p>Unfortunately this necessitated a schema change to the system log (a good test for the Elgg update scripts). It also required some changes to the way the river views are constructed.</p>
<p>The details of these changes are <a href="http://community.elgg.org/pg/pages/view/76">documented over here</a>. Turns out to be a bit of a blessing in disguise; letting us speed up the river while at the same time increasing the number of events a plugin can hook into as well as standardising the views hierarchy.</p>
<p>The down side is that after the upgrade site rivers will appear to be blank &#8211; this is because while the system log is still there, the format of the log and the way the river code hooks into it has changed.</p>
<p>The change also means that plugins which hook into the river will also need to modify their views hierarchy slightly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcus-povey.co.uk/2008/10/07/the-lesson-this-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
