<div class="markdown">
<p dir="auto">On 6 Feb 2016, at 22:03, Steven M. Bellovin wrote:</p>

<blockquote>
<p dir="auto">I have 1.4M messages, and while startup takes a while it doesn't take nearly as long as Patrik reports.</p>
</blockquote>

<p dir="auto">I've had reports about this number of messages before, but I'm still surprised it works at all with such a number of messages.</p>

<blockquote>
<p dir="auto">On 6 Feb 2016, at 15:49, Patrik Fältström wrote:</p>

<blockquote>
<p dir="auto">350k email messages is nothing.</p>

<p dir="auto">I have just below 2 million. 12k added each month, approximately.</p>
</blockquote>
</blockquote>

<p dir="auto">I'm even more surprised this works although given the startup time one could claim that it doesn't really work.</p>

<blockquote>
<blockquote>
<p dir="auto">There is something happening at startup that takes very long time. And I am interesting in knowing what happens.</p>
</blockquote>
</blockquote>

<p dir="auto">I'll try to explain further below.</p>

<blockquote>
<blockquote>
<p dir="auto">On 6 Feb 2016, at 19:43, Helen Holzgrafe wrote:</p>

<blockquote>
<blockquote>
<p dir="auto">Why does this work? My educated guess:</p>

<p dir="auto">My guess is that Mailmate somehow must be recreating the contents lists for each smart mailbox on the fly each time it starts up, rather than keeping that as part of its database all the time. Very time consuming at start up, but it does guarantee accuracy.</p>

<p dir="auto">[...]</p>

<p dir="auto">Benny, how close did I come to explaining this problem correctly?</p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>

<p dir="auto">That's very exact. MailMate stores a copy of all headers (and some virtual headers) of all emails and these are used on startup to build <em>all</em> mailboxes. It's not just smart mailboxes. An IMAP mailbox is a query for matches on a virtual header with a specific IMAP location.</p>

<p dir="auto">Everything in MailMate is based on these queries and with more than a million messages then this can be slow on startup. It can also take up a considerable amount of memory.</p>

<p dir="auto">Patrick: Now, 8 minutes is a lot and it could be interesting for me to see where the bottlenecks are for this kind of problem size. You can generate a log for me by pasting these lines in a Terminal window:</p>

<pre><code>defaults write com.freron.MailMate TimersEnabled -bool YES
/Applications/MailMate.app/Contents/MacOS/MailMate
</code></pre>

<p dir="auto">When the launch has finished then quit MailMate (to make MailMate summarize the results) and then send me the Terminal output. Send it off list.</p>

<p dir="auto">(I cannot really promise to make more improvements soon, but there might be some simple things you can change to speed up the launch.)</p>

<p dir="auto">-- <br>
Benny</p>

</div>