22
22
div.note h3 { font-size:small; font-style:italic; font-variant: small-caps; }
23
23
div.note h3:after { content: ":" }
24
24
div.note { margin-bottom: 5px; }
25
strong.command { font-family: monospace; font-weight: normal; }
25
.command { font-family: monospace; font-weight: normal; }
26
.command strong { font-weight: normal; }
26
27
tr { vertical-align: top; }
28
.comment { color:#707070; }
28
</style></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. Performance Tuning</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="security.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="reference.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="tuning"></a>Chapter 8. Performance Tuning</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="tuning.html#tuning-mailboxes">1. Reading and Writing Mailboxes</a></span></dt><dt><span class="sect1"><a href="tuning.html#tuning-messages">2. Reading Messages from Remote Folders</a></span></dt><dt><span class="sect1"><a href="tuning.html#tuning-search">3. Searching and Limiting</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tuning-mailboxes"></a>1. Reading and Writing Mailboxes</h2></div></div></div><p>
30
</style></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. Performance Tuning</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="security.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="reference.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 8. Performance Tuning"><div class="titlepage"><div><div><h2 class="title"><a id="tuning"></a>Chapter 8. Performance Tuning</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="tuning.html#tuning-mailboxes">1. Reading and Writing Mailboxes</a></span></dt><dt><span class="sect1"><a href="tuning.html#tuning-messages">2. Reading Messages from Remote Folders</a></span></dt><dt><span class="sect1"><a href="tuning.html#tuning-search">3. Searching and Limiting</a></span></dt></dl></div><div class="sect1" title="1. Reading and Writing Mailboxes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tuning-mailboxes"></a>1. Reading and Writing Mailboxes</h2></div></div></div><p>
29
31
Mutt's performance when reading mailboxes can be improved in two ways:
30
</p><div class="orderedlist"><ol type="1"><li><p>
31
For remote folders (IMAP and POP) as well as folders using
32
one-file-per message storage (Maildir and MH), Mutt's
33
performance can be greatly improved using
34
<a class="link" href="optionalfeatures.html#header-caching" title="7.1. Header Caching">header caching</a>.
32
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
33
For remote folders (IMAP and POP) as well as folders using one-file-per
34
message storage (Maildir and MH), Mutt's performance can be greatly
35
improved using <a class="link" href="optionalfeatures.html#header-caching" title="7.1. Header Caching">header caching</a>.
35
36
using a single database per folder.
37
Mutt provides the <a class="link" href="reference.html#read-inc" title="3.207. read_inc">$read_inc</a>
38
and <a class="link" href="reference.html#write-inc" title="3.310. write_inc">$write_inc</a>
39
variables to specify at which rate to update progress
40
counters. If these values are too low, Mutt may spend more
41
time on updating the progress counter than it spends on
42
actually reading/writing folders.
37
</p></li><li class="listitem"><p>
38
Mutt provides the <a class="link" href="reference.html#read-inc" title="3.208. read_inc">$read_inc</a> and <a class="link" href="reference.html#write-inc" title="3.312. write_inc">$write_inc</a> variables to specify at which rate
39
to update progress counters. If these values are too low, Mutt may spend
40
more time on updating the progress counter than it spends on actually
41
reading/writing folders.
44
For example, when opening a maildir folder with a few
45
thousand messages, the default value for
46
<a class="link" href="reference.html#read-inc" title="3.207. read_inc">$read_inc</a>
47
may be too low. It can be tuned on on a folder-basis using
48
<a class="link" href="configuration.html#folder-hook" title="7. Setting Variables Based Upon Mailbox"><span class="command"><strong>folder-hook</strong></span>s</a>:
43
For example, when opening a maildir folder with a few thousand messages,
44
the default value for <a class="link" href="reference.html#read-inc" title="3.208. read_inc">$read_inc</a> may be
45
too low. It can be tuned on on a folder-basis using <a class="link" href="configuration.html#folder-hook" title="7. Setting Variables Based Upon Mailbox"><span class="command"><strong>folder-hook</strong></span>s</a>:
49
46
</p><pre class="screen">
50
# use very high $read_inc to speed up reading hcache'd maildirs
47
<span class="comment"># use very high $read_inc to speed up reading hcache'd maildirs</span>
51
48
folder-hook . 'set read_inc=1000'
52
# use lower value for reading slower remote IMAP folders
49
<span class="comment"># use lower value for reading slower remote IMAP folders</span>
53
50
folder-hook ^imap 'set read_inc=100'
54
# use even lower value for reading even slower remote POP folders
55
folder-hook ^pop 'set read_inc=1'</pre></li></ol></div><p>These settings work on a per-message basis. However, as messages may
56
greatly differ in size and certain operations are much faster than others,
57
even per-folder settings of the increment variables may not be
51
<span class="comment"># use even lower value for reading even slower remote POP folders</span>
52
folder-hook ^pop 'set read_inc=1'</pre></li></ol></div><p>
53
These settings work on a per-message basis. However, as messages may
54
greatly differ in size and certain operations are much faster than
55
others, even per-folder settings of the increment variables may not be
58
56
desirable as they produce either too few or too much progress updates.
59
Thus, Mutt allows to limit the number of progress updates per second it'll
60
actually send to the terminal using the
61
<a class="link" href="reference.html#time-inc" title="3.290. time_inc">$time_inc</a> variable.</p></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tuning-messages"></a>2. Reading Messages from Remote Folders</h2></div></div></div><p>
62
Reading messages from remote folders such as IMAP an POP can be
63
slow especially for large mailboxes since Mutt only caches a very
64
limited number of recently viewed messages (usually 10) per
65
session (so that it will be gone for the next session.)
57
Thus, Mutt allows to limit the number of progress updates per second
58
it'll actually send to the terminal using the <a class="link" href="reference.html#time-inc" title="3.291. time_inc">$time_inc</a> variable.
59
</p></div><div class="sect1" title="2. Reading Messages from Remote Folders"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tuning-messages"></a>2. Reading Messages from Remote Folders</h2></div></div></div><p>
60
Reading messages from remote folders such as IMAP an POP can be slow
61
especially for large mailboxes since Mutt only caches a very limited
62
number of recently viewed messages (usually 10) per session (so that it
63
will be gone for the next session.)
67
To improve performance and permanently cache whole messages,
68
please refer to Mutt's so-called
69
<a class="link" href="optionalfeatures.html#body-caching" title="7.2. Body Caching">body caching</a> for details.
70
</p></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tuning-search"></a>3. Searching and Limiting</h2></div></div></div><p>
71
When searching mailboxes either via a search or a limit action, for
72
some patterns Mutt distinguishes between regular expression and string
65
To improve performance and permanently cache whole messages, please
66
refer to Mutt's so-called <a class="link" href="optionalfeatures.html#body-caching" title="7.2. Body Caching">body
67
caching</a> for details.
68
</p></div><div class="sect1" title="3. Searching and Limiting"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tuning-search"></a>3. Searching and Limiting</h2></div></div></div><p>
69
When searching mailboxes either via a search or a limit action, for some
70
patterns Mutt distinguishes between regular expression and string
73
71
searches. For regular expressions, patterns are prefixed with
74
“<span class="quote">˜</span>” and with “<span class="quote">=</span>” for string searches.
72
<span class="quote">“<span class="quote">~</span>”</span> and with <span class="quote">“<span class="quote">=</span>”</span> for string searches.
76
74
Even though a regular expression search is fast, it's several times
77
75
slower than a pure string search which is noticeable especially on large