Performance - Thunderbird
- Most performance problems are due to antivirus software, a poorly performing computer, or the disk system.
- See if it is caused by an add-on by temporarily disabling all add-ons using "Help -> Restart with Add-ons Disabled". . The Lightning add-on can also slow performance. The Ubuntu Unity integration add-on seems to drastically slow downloading large attachments. 
- Some anti-virus scanners such as McAfee  and Norton have a reputation for causing performance problems. They can cause many different problems. However, they are the main reason Thunderbird might be slow only when deleting messages. The free versions of Avast!, AVG, and Avira are frequently recommended as working well with Thunderbird.
- You might need to defragment the disk drive. Make sure you have adequate free space (at least 15%) before defragmenting. The more free space the faster it defragments.
- Check that you have enough free physical memory so that applications aren't being slowed down by constantly being moved to/from the swap file. You can decrease swapping by reducing the number of running applications, and programs in your system tray. It might also help to set the minimum and maximum size of the swap file to the same value.
- If you are using Gmail with an IMAP account, unsubscribe the "All Mail" folder, unsubscribe it, exit, and then delete both "All Mail." and "All Mail.msf". The All Mail folder may double the amount of disk space used by Thunderbird.
- Thunderbird loads a folder's *.msf file into memory whenever it opens the folder. By default it keeps up to 30 *.msf files open for 5 minutes (and their contents in memory), unless they are "special" folders, which it never closes. It loads the inbox.msf file for every account on startup. The best way to minimize the amount of memory used is to archive messages you have already read or otherwise no longer need in Inbox into folders that you rarely open. Moving a message to an archive folder opens it, so consider archiving messages by by year and month rather than yearly so that the archive being used doesn't get excessively large. 
- Not compacting the Inbox folder often enough may cause performance problems. Deleted messages aren't physically deleted until the folder is compacted, so for example Thunderbird might be loading a 100MB folder index when it displays a Inbox folder with just a few messages. Compacting is automatic (starting in version 5), but it defaults to only doing that if 20MB of space is wasted. Consider lowering that to 1MB. If you are using a IMAP account, consider checking "Tools -> Account Settings -> Server Settings -> Clean up ("Expunge") Inbox on Exit " That will physically remove any deleted messages in the inbox using a different mechanism, when you exit Thunderbird.
- Thunderbird appears to parse the contents of the entire Inbox folder when it downloads new mail for POP accounts. If the folder contains messages with certain missing headers (typically due to spam or a corrupted folder) it can get caught in a loop. The workaround (after first backing up your profile folder!) would be to move all of the Inbox folders messages to another folder (where you can identify and delete the troublesome messages later on) and compact the Inbox. In the worst case you might need to copy the messages in your Inbox to another folder, exit Thunderbird, back up your profile, delete both the "Inbox." and "Inbox.msf" files for that account in your profile and then run Thunderbird again. It will create a new empty Inbox folder if you do that.
- Some versions of Thunderbird use Direct2D hardware acceleration. It is enabled in version 5, disabled in version 9, re-enabled in version 31 and disabled in 38.3.0. to improve display performance. However, it can make performance much worse if you have a low end graphics system, and in a few cases may hide the contents of a mail message. . It can be disabled by setting gfx.direct2d.disabled true and layers.acceleration.disabled true using the config editor. You can verify this by looking at the "GPU Accelerated Windows" line in the graphics section near the bottom of the screen for help -> troubleshooting information. It is set to 0 if hardware acceleration is off. If it is on, then you should see something like 1/1 Direct3D 10. If you are using Linux or OS X try setting layers.prefer-opengl true instead, to see if you can use OpenGL for the hardware acceleration instead. Normally you would use Direct2D under Windows and OpenGL under OS X and Linux.  Several people have reported display performance problems even with these settings disabled, unless they disable Window's Aero theme. Using the NoGlass theme doesn't seem to help, but the SilverMel theme did. . One person reported that after upgrading from 24.6.0 to 31.0 the main window's fonts weren't properly aliased/smoothed and some windows had unusual tints. This was worked around by setting gfx.direct2d.disabled true 
High CPU usage when idling
- This problem was fixed for most installations in version 38 but still occurs. If you have high Thunderbird CPU usage when idle and task manager reports a significant spike in disk activity on the boot disk at the same time see the https://bugzilla.mozilla.org/show_bug.cgi?id=1305207 bug report. Try increasing mail.db.idle_limit to 30000000 (7 zeroes, not 5 zeroes). Check that mail.db.max_open is 30 (default value). Try decreasing the number of folders whose properties (right click on the folder in the folder pane and select properties in the context menu) are configured to check for new mail on startup. If you have many accounts you could also try reducing the number of "special folders" (inbox, drafts, junk, sent) used by your accounts by setting a common drafts and junk folder in the "Local Folders" account. If you have many POP accounts you could try configuring them to use a global inbox.
- If Thunderbird is consuming a lot of GPU cycles on a high end graphics card (despite hardware acceleration being disabled), it might be due to a optional setting for that driver. For example, somebody with a ZOTAC GeForce GTX 970 AMP! Extreme Edition solved this by setting "Manage 3D Settings -> Global Settings" to default. 
- If you automatically check for updates it might time out if there is a problem with the Mozilla update web site. The startup page also uses a web site. Visit http://status.mozilla.com/ to check the status of Mozilla's web sites.
- There have been performance problems using profiles on a file share (NAS), which have been fixed for most users.
- If the performance problems only occur with HTML messages HTML Mail View very slow (45++ sec) for pop and local folders suggests as a workaround keeping the folder open in a tab.
- A few users have run into a problem where every operation takes about a minute. This is due to a bug creating places.sqlite-shm and places.sqlite-wal directories in the profile. There should be files with those names, not directories. The workaround is to exit Thunderbird and delete those two directories. 
- There have been several reports of performance problems that can be worked around by running Thunderbird using XP SP3 compatibility mode. This seems to mainly occur with Windows 8.
- Two users reported that disabling chat by setting mail.chat.enabled and mail.chat.show_desktop_notifications to false eliminated a 5 second delay every time they selected a different message in the folder listing 
- If you are using a security suite such as Norton Security (rather than just a anti-virus scanner) you might need to disable it doing a real time scanning of the profile to avoid delays of up to 30 seconds. 
- Making a connection through a proxy can slow startup performance. Normally there is no reason to use one unless you are making a connection through a VPN or your ISP requires it. Check Tools -> Options -> Advanced -> Network & Disk Space -> Connection -> Settings is set to either No Proxy or Use system proxy settings. 
- If you consistently have a long delay connecting to the SMTP server but no problem connecting to the POP or IMAP server your email provider might have decided the IP looks suspicious and grey listed the connection. This defers the connection (adds a delay). Thunderbird will retry and eventually get connected. One reason why your IP address might be considered suspicious is if you are using a dynamic IP address that doesn't have a reverse DNS entry. In that case the delay is intentional to try to avoid misuse of the SMTP server. Try restarting your router in order to get a different IP address (that hopefully has a valid reverse DNS entry). You can lookup your IP address using https://whatismyipaddress.com and then copy & paste it into http://mxtoolbox.com/ReverseLookup.aspx to see if has a reverse DNS entry. If it doesn't you might need to switch to a different DNS server than the one provided by your ISP. See https://www.howtogeek.com/167533/the-ultimate-guide-to-changing-your-dns-server/ for instructions on how to do that. 
If you are short of resources or Thunderbird doesn't respond quickly,
- Try running Thunderbird in safe mode
- Please file a bug report
- Test with global search, windows search integration, and offline folders (if you have a IMAP account) disabled. You can still search for messages without global search by using the Quick Filter bar or Edit -> Search Messages.
Global search ( Tools -> Options -> Advanced -> General -> Enable Global Search and Indexer) uses a background process to create a search index of messages for every account. And, if you have a IMAP account, Thunderbird has offline folders for copies of all of your remote folders using autosync (Tools -> Account Settings -> Synchronization & Storage -> Message Sync -> Keep messages for this account on this computer). The offline folders are mainly useful only for reading messages when working offline (File -> Offline -> Work Offline). You can't rely upon them for a backup.
Thunderbird 3 added an optional disk cache. It mainly caches remote images. If you don't re-read many HTML messages with remote images consider setting the space used by it to zero in Tools -> Options -> Advanced -> Network & Disk Space -> Disk Space. It doesn't pre-fetch images for messages you haven't read yet.
How much memory Thunderbird uses depends a lot upon what version you are using, what add-ons you have (Lightning uses a lot of resources), have you disabled background processes such as global search and synchronizing IMAP folders, and how many messages you have in folders that have been opened. If you are using a recent version (such as 45.1.1) it would typically use between 100MB and 250MB. If it keeps increasing or it uses more than 300MB you may have a memory leak. (Note, the Lightning/Calendar add-on, and perhaps others, and large message folders can easily push memory requirements well beyond 300MB)
Try running Thunderbird in safe mode (not to be confused with Windows safe mode) to temporarily disable any added extensions and themes. If that works around the problem then try running Thunderbird normally, selectively disabling each extension/theme until you identify the culprit(s). If not, see Testing memory usage problems
If you make a connection using a anti-spam proxy such as the free version of MailWasher or use a anti-virus scanner consider disabling checking for new messages in Thunderbird, setting View -> Message Body As -> Plain Text, temporarily disabling those programs, and then restarting Thunderbird to see what effect not using those proxies has. Tools such as Process Explorer provide more detailed information than Task Manager, and can be useful when trying to figure out exactly what is going on.
How many accounts you have, the number of messages in the current folder, whether Thunderbird is configured to open new messages in an existing window, and are you using POP or IMAP accounts has some effect, but typically shouldn't cause a major problem. However, reducing the number of messages you keep in your inbox folder should improve the startup speed, help reduce the chance for corruption (if you regularly compact your folders) and decrease your memory usage.
Most performance problems can't be caught or monitored by enabling logging. The built-in support for logging is mainly for network protocols (POP3, IMAP, SMTP, LDAP etc.) and Gloda (SQLite database used by global search/indexing). Tools > Activity Manager does show account related activity.
1. Install the profiler add-on for Thunderbird from https://github.com/firefox-devtools/Gecko-Profiler-Addon/blob/master/gecko_profiler.xpi?raw=true
2. Follow the instructions at https://profiler.firefox.com/ . There is a video for how to do this for Firefox at https://profiler.firefox.com/docs/#/./videos-intro that you could try to adapt for Thunderbird.
- Diagnosing memory leaks
- Thunderbird leaks file descriptors (mostly .msf files) like a sieve causing high memory
- bugzilla.mozilla.org: Bug 1284753 - Quick filter user interface is unresponsive after a quick search triggers (starts)