<?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: camel-folder-summary.c</title>
	<atom:link href="http://pvanhoof.be/blog/index.php/2006/06/11/camel-folder-summaryc/feed" rel="self" type="application/rss+xml" />
	<link>http://pvanhoof.be/blog/index.php/2006/06/11/camel-folder-summaryc</link>
	<description>From the mind of Philip</description>
	<lastBuildDate>Sun, 28 Aug 2011 12:59:07 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
	<item>
		<title>By: pvanhoof</title>
		<link>http://pvanhoof.be/blog/index.php/2006/06/11/camel-folder-summaryc#comment-168</link>
		<dc:creator>pvanhoof</dc:creator>
		<pubDate>Thu, 22 Jun 2006 15:27:15 +0000</pubDate>
		<guid isPermaLink="false">http://pvanhoof.be/blog/index.php/2006/06/11/camel-folder-summaryc#comment-168</guid>
		<description>Also note that the current implementation also keeps the entire current summary info in memory (at all times). So the same amount of memory per folder would be used. Except that now it would be in the format of an mmap() rather than a series of malloc()&#039;s filled in with the results of an fread().</description>
		<content:encoded><![CDATA[<p>Also note that the current implementation also keeps the entire current summary info in memory (at all times). So the same amount of memory per folder would be used. Except that now it would be in the format of an mmap() rather than a series of malloc()&#8217;s filled in with the results of an fread().</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pvanhoof</title>
		<link>http://pvanhoof.be/blog/index.php/2006/06/11/camel-folder-summaryc#comment-167</link>
		<dc:creator>pvanhoof</dc:creator>
		<pubDate>Thu, 22 Jun 2006 15:22:21 +0000</pubDate>
		<guid isPermaLink="false">http://pvanhoof.be/blog/index.php/2006/06/11/camel-folder-summaryc#comment-167</guid>
		<description>Hey hoa, note that camel wouldn&#039;t need to keep entire mbox files open. Camel keeps just the summary info in a file. Such a file is ~ 200kb in size for a 1,000 headers folder.

It would be possible (for tinymail) to close the mmap each time the folder is not active anymore. It wouldn&#039;t be possible to set this behaviour in Evolution. The vfolders feature of evolution requires the folders (an summary mmap()&#039;s) to remain open.</description>
		<content:encoded><![CDATA[<p>Hey hoa, note that camel wouldn&#8217;t need to keep entire mbox files open. Camel keeps just the summary info in a file. Such a file is ~ 200kb in size for a 1,000 headers folder.</p>
<p>It would be possible (for tinymail) to close the mmap each time the folder is not active anymore. It wouldn&#8217;t be possible to set this behaviour in Evolution. The vfolders feature of evolution requires the folders (an summary mmap()&#8217;s) to remain open.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hoa</title>
		<link>http://pvanhoof.be/blog/index.php/2006/06/11/camel-folder-summaryc#comment-166</link>
		<dc:creator>hoa</dc:creator>
		<pubDate>Thu, 22 Jun 2006 15:03:26 +0000</pubDate>
		<guid isPermaLink="false">http://pvanhoof.be/blog/index.php/2006/06/11/camel-folder-summaryc#comment-166</guid>
		<description>In fact, in libetpan, using mmap for mbox and maintaining all mailboxes opened revealed to be a problem. The process had a huge virtual memory (and resident memory). This made other applications swap a lot.
I guess that we can improve the behavior by unmapping files when they are not needed for a while but I don&#039;t know what is the behavior of the kernel. Does it keep most frequently blocks of the file in memory or are they flushed and reloaded ? Case where the performance would be bad.</description>
		<content:encoded><![CDATA[<p>In fact, in libetpan, using mmap for mbox and maintaining all mailboxes opened revealed to be a problem. The process had a huge virtual memory (and resident memory). This made other applications swap a lot.<br />
I guess that we can improve the behavior by unmapping files when they are not needed for a while but I don&#8217;t know what is the behavior of the kernel. Does it keep most frequently blocks of the file in memory or are they flushed and reloaded ? Case where the performance would be bad.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: murrayc</title>
		<link>http://pvanhoof.be/blog/index.php/2006/06/11/camel-folder-summaryc#comment-165</link>
		<dc:creator>murrayc</dc:creator>
		<pubDate>Mon, 12 Jun 2006 06:19:57 +0000</pubDate>
		<guid isPermaLink="false">http://pvanhoof.be/blog/index.php/2006/06/11/camel-folder-summaryc#comment-165</guid>
		<description>&gt; The reason why I think it would dramatically improve the situation is that with mmap(), the kernel gets to decide about whether or not putting the memory in its buffers/cache

I thought that chunks of mmap()ed memory were just loaded into memory when used. Are the chunks also put back onto disk or virtual memory when not used for a while? If not, it seems like it might force evo to hold on to a lot of non-cacheable RAM.

Reducing frequent memory copying does seem like a nice performance aim.</description>
		<content:encoded><![CDATA[<p>&#38;gt; The reason why I think it would dramatically improve the situation is that with mmap(), the kernel gets to decide about whether or not putting the memory in its buffers/cache</p>
<p>I thought that chunks of mmap()ed memory were just loaded into memory when used. Are the chunks also put back onto disk or virtual memory when not used for a while? If not, it seems like it might force evo to hold on to a lot of non-cacheable RAM.</p>
<p>Reducing frequent memory copying does seem like a nice performance aim.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

