Overview
Performance improvements
Performance and responsiveness are key concerns for all our customers. That is why we made the large performance tuning and optimization changes that are included in Office suite Service Pack 2 (SP2).
Outlook 2007 SP2 delivers performance improvements in four major areas:
- General Responsiveness
SP2 reduces I/O disk usage and UI response time.
- Startup
SP2 removes long operations from initial startup. - Shutdown
SP2 makes Outlook exit predictably despite pending activities. - Folder/View Switch
SP2 improves view rendering and folder switching.
Calendar improvements
Enterprise-class calendaring has evolved into a complex system of synchronized clients and devices. Customers have multiple versions of Outlook and Microsoft Exchange in their organizations, and they also have many mobile devices that have calendar access. Each method for accessing and updating user calendars typically offers some form of read/write permission back to the original calendar, frequently by using uniquely defined validation logic. In enterprise delegate manager scenarios, there is added complexity when many delegates are working on the same principal calendar at the same time. We recognize that customers require a high standard of reliability in these complex systems. Therefore, the Outlook team has improved the underlying data structures and general reliability of calendar updates.
This article includes a detailed summary of the recent fixes in the "Individual bugs that are fixed" section. This should give you a broad overview of the improvements in performance and calendar reliability and the other, more general improvements.
General improvements
In addition to the core goals of improved performance and improved calendar reliability, Outlook 2007 SP2 contains many fixes that, in aggregate, improve stability and also address customer issues. The most important of these fixes directly target the top known issues that cause Outlook to crash or become unresponsive. After you install SP2, you will notice increased stability over long periods of Outlook usage.
Other fixes in SP2 are spread across the following areas:
- Data File Checks
Far fewer data file checks at startup, where you see the following alert:
The data file '<file name>' was not closed properly. This file is being checked for problems.
- Search reliability
Improved search reliability when you use SP2 with Windows Desktop Search 4 - RSS
Fewer duplicated items
- Security
General improvements in security
- Object Model
Now contains many customer-driven fixes
Outlook 2007 SP2 performance
General responsiveness
The overall responsiveness for Outlook 2007 SP2 is significantly improved over the responsiveness of Service Pack 1. Responsiveness can be loosely defined as the application's reaction time when you use the user interface (UI). A perfectly responsive application will always immediately begin performing the task that is requested even if that task takes a long time. For example, in Outlook this could be clicking to switch folders while you wait for a very large folder to load, and clicking the ToDo Bar to enter a task.
Making Outlook noticeably more responsive was a big priority for this release.
Storage engine
The most important changes come from underlying optimizations in the local storage engine. Both Personal Folders files (PSTs) and Cached Exchange Stores (OSTs) are built upon the same underlying storage engine. In this article, PST refers to both technologies. We have improved the general reading and writing characteristics of the PST so that less is demanded from the disk to perform the same general operations in Outlook. For example, file flushing is optimized so that it interacts more efficiently with the operating system and disk write caches. We have also changed the way new data is written to the PST. Now, it is saved much closer together on the physical disk and requires less physical work from the drive. This speeds up the time that is required to write the same amount of data. A side effect of this data writing algorithm is that PSTs are approximately 20 percent larger than in previous releases. However, we have observed large gains in write performance and a reduction in overall writing to the disk.
Whereas write optimizations have been the single biggest change in the storage engine, there are also other small changes that deliver additional benefits. For example, internal storage engine optimizations were made after analyzing the most common kinds of operations the storage engine performed during typical usage. We have also optimized the way internal "change notifications" are processed, especially when there are many of them. Specifically, when you add significant data to the PST, lots of notifications are triggered for various data structures to be updated to accommodate the new data. Because these notifications are faster and require less I/O, the raw performance of every small operation improves. This means significant savings over time.
User interface
In addition to optimizing the storage engine, Microsoft spent time and resources investigating and addressing some common sources of unresponsiveness in the Outlook application layer. We have seen that some of the most frustrating instances of unresponsiveness occur when Outlook is doing work unrelated to any user actions. Such situations are especially frustrating because the user cannot predict when they will occur or how long they will last. Two of the more common causes of Outlook unresponsiveness that are unrelated to user action were processing updates to the message list and processing updates to other elements in the main window in Outlook. Our engineering team undertook a complex effort to fundamentally change the methods in which such updates are processed to minimize their effect on Outlook responsiveness in SP2.
Some other application layer changes that we made are for scenarios that may not affect all users. However, we believe that these scenarios are a significant source of dissatisfaction to the users who are affected. For example, when the reminders dialog box appears, the prior behavior was to process and write the changes to the store immediately when the user requested an operation, such as dismiss or snooze. Now, those changes are queued so that responsiveness is immediately restored to the UI. Therefore, you can click
Dismiss as fast as your mouse will allow, and when the last reminder goes away, the dialog box will immediately disappear. We also made some changes to the way rules are processed so that many client-side actions, such as moving mail from a specific distribution list to a separate PST file, leave the Outlook UI far more responsive.
We have also made changes specifically targeted at customers who use POP and IMAP servers. For POP mail users, we now retrieve the newest mails first. This should help you get to your most important work faster. IMAP mail users will notice that downloading message bodies no longer stops Outlook from responding to additional user commands.
Starting Outlook
Our approach to optimizing the startup process is fairly straight-forward. We analyzed all the tasks Outlook queues and improved the boot time by removing a few operations that were considered unnecessary, and by better orchestrating the execution of the necessary tasks.
The result is a noticeable positive improvement. Quantifying the exact improvement is difficult because most people's experiences vary widely based on several factors. These include the following:
- Number of add-ins
- Amount of memory on the computer
- Speed of the hard disk drive
- Number of other applications currently running
- Size of the mailbox and size of additional stores mounted (overall optimizations in the PST also help here)
- Number of customizations made to the UI that must be loaded
Essentially, we have seen Outlook starting about two times faster in many of our tests and when we run builds for our daily mail use.
First startup experience
Immediately after you install the SP2 update, the first startup of Outlook will not be fast because Outlook must update internal PST data structures that are used in SP2 performance optimizations. This is a one-time occurrence that affects only the initial startup. The upgrade process may take from several minutes to two hours. The time depends on how large your PST and OST files are and on how many PST files are mounted in the profile during the first startup. As soon as the data structures are updated, Outlook will benefit from the improvements.
We hope that as soon as the upgrade process is complete and you begin to use Outlook 2007 SP2, you see that the rewards were worth the wait. There is a new upgrade dialog box that has progress to show the optimizing work that Outlook is doing to make everything faster on the disk. The responsiveness of Outlook will improve after this dialog box closes. (The screen shot for the upgrad dialog box is listed below.)
Tip If you install SP2 at the end of the day, start Outlook after the installation and before you go home. In the morning, everything will be done, fast, and waiting for you.
An alternative to waiting for this first startup experience
An alternative to waiting for this upgrade to complete may be useful in cases of large data files. Instead of updating data files on the first run of Outlook, you may instead download a new copy of your mailbox. This creates a new disk storage file from scratch. When you do this, the storage upgrade happens dynamically as new content is added to your new local data file. Therefore, there is no upgrade dialog box. When Outlook is synchronizing your mailbox, it will display your newest mail first. It will become responsive to user actions without the user having to wait for the whole mailbox to be synchronized. Most of the synchronization happens in the background. This lets the user work with the recent mail data. This approach may provide a better user experience than the default process of upgrading the existing data files if the user has large data files of several gigabytes or more. For instructions about how to download a new copy of your mailbox, see the "How to Create an Offline Folder File for Exchange Server" section of the following Microsoft Knowledge Base article:
290857 How to use offline folders (.ost) file in Outlook 2002
Note The time to complete the new OST/PST upgrade experience will be greatly affected if your profile includes PST files that are stored on a network share. This configuration is not supported by Microsoft and is known to cause performance issues generally. There are no workarounds or improvements planned for this upgrade scenario. Therefore, be aware of this additional one-time impact if you are currently running in this configuration.
Shutdown
Outlook had built-in logic that caused it to refuse to shut down when it detected that a third-party was using it for data access or otherwise was integrated with Outlook functionality. A side effect of this design was that, to the user, Outlook would frequently fail to exit for no apparent reason. If all storage providers support it, we have optimized SP2 to shut Outlook down quickly by stopping all server activity, flushing unsaved PST content to the disk, saving unpersisted preferences and settings, and then quickly exiting. Most notably, Outlook no longer waits for external references to be released.
Note Outlook Live Connector (OLC) 12.1 does not support this faster shutdown. Therefore, Outlook must continue to use the slower shutdown method when OLC 12.1 is being used to make sure that data is not lost.
The result is a consistently reliable shutdown, even during periods of heavy activity, such as server synchronization. There is
more technical information available for developers about how to update their applications to best integrate with this new shutdown model. Our goal is that Outlook shuts down quickly (in just a few seconds), reliably, and consistently. Also, a new Outlook icon appears in the notification area after you close Outlook if the Outlook.exe process is still running. As long as the Outlook.exe process is running, and the Outlook UI is unavailable, the following Outlook icon appears in the notification area:
Folder/view switch
For folder switching and arrangement switching, we have developed a highly optimized, very compact new index of the folders' contents that is sorted by date. A date sort is the foundation of the most frequently used contents table arrangement. Being able to load a very small and always up-to-date version of this index in a short time is the backbone to a very fast folder switch experience in SP2. The new date index is much more effective, even with tens of thousands of items in a single folder.
The result is that switching to even the largest folders takes seconds, although sometimes the first switch to the folder can take longer while we build up the indexes. This, again, is a one-time cost.
Note Most of these gains appear when you use Outlook in Cached Exchange Mode together with OSTs and PSTs. Online Mode users will continue to see their view performance dictated largely by server performance and network conditions.
Conclusion
Overall responsiveness has significantly improved with Outlook 2007 SP2. In our own daily usage of SP2 across several hundred computers, we have received much positive feedback regarding improved responsiveness.
Be aware that decreasing reading and writing demand on the disk has a positive effect on the minimum hardware necessary to maintain a good user experience. This is especially true for early generation solid state hard disk drives and for large local storage files that are frequently associated with large mailboxes or with large archive folders. To give customers more specific guidance, we are working on a more concrete numeric analysis of these improvements.
Outlook 2007 SP2 is a significant upgrade over Outlook 2007 SP1. Many of the most common tasks, such as shutdown and folder switching, are much more responsive in targeted scenarios.
Outlook 2007 SP2 calendaring
Because having the same data everywhere is foundational to a reliable calendar, it is no surprise that much of our work focused heavily on Cached Exchange synchronization. We improved the synchronization engine so Outlook automatically resolves conflicting edits without generating alternative copies of the items in the Conflicts folder. We have also turned on the conflict resolution engine for delegates who cache their manager's calendar. By focusing heavily on synchronization, we have mostly eliminated issues that caused problems such as the following:
- Duplicate copies of a meeting
- Organizer have a different meeting version than attendees
- Disappearing meetings
-
Reappearing meetings (usually exceptions)
- Meeting that are removed from the organizer but still remain on attendee calendars
General reliability
In addition to the synchronization focus, there are also a collection of general purpose reliability fixes that are important. For example, in Cached Exchange Mode before SP2, an edit to a meeting could sometimes generate an error message that indicates that the item has been changed and that your changes cannot be saved. SP2 addresses this situation and prevents the conflict from disallowing saving. If you used Outlook add-ins before SP2, regardless of how many times that you tried to change an item, the change was never saved until Outlook was restarted. This issue is addressed in SP2. Also, add-ins that use persistent calendar transactions should be more reliable.
We have made other reliability improvements, such as keeping private items private on updates, the ability to dismiss reminders, and the elimination of duplicate recipients. Additionally, some issues that are related to the prompt for sending only to added or removed attendees are fixed. These issues generated an update to everyone on the meeting.
Time zones
Time zone definition and daylight savings definition changes are becoming globally more frequent. In response to this increasing customer need, we have changed how we deliver updates to the time zone and daylight savings tool. With SP2, updates are removed from Outlook and provided exclusively in the
Time Zone Data Update Tool for Microsoft Office Outlook. The download tool has also been updated to include Start menu entries for increased visibility. This tool is supported in Outlook 2000, Outlook 2002, Outlook 2003, and Outlook 2007.
Conclusion
We have fixed many underlying problems in calendar use that could have previously caused unpredictable behavior. We want to make sure that everyone's calendars contain consistent information and that appointments work smoothly. We understand the critical importance of reliable calendaring to our customers. Therefore, we have spent a lot of time capturing feedback and debugging problems to improve the calendar experience.