FileVault Performance

With Lion sporting a more usable version of FileVault I was curious about its performance impact. I'd enabled FileVault on my personal machine and subjectively felt a performance impact, but I needed to quantify it. I put together a number of tests to do just that.

For all of these tests my test platform is a 15-inch MacBook Pro with a 2.2GHz Sandy Bridge Core i7 from early 2011 with an Apple branded 256GB SSD. In these tests I was primarily concerned with two things: how performance is affected, and what sort of extra load FileVault encryption places on the CPU.

Our first test is a simple file copy. I've got a directory of 2200MB worth of RAW files from a Nikon D700. I copy the folder from the SSD to the same SSD and report performance in MB/s:

FileVault Performance - 2200MB File Copy (MB/s)

With FileVault enabled we take a 24% performance hit, hardly insignificant. Average CPU utilization during the file transfer actually dropped with FileVault enabled from 8.5% to 4.5%. I suspect the reason for the drop was the slower overall transfer rate. It would appear that FileVault, at least on a quad-core Sandy Bridge CPU has absolutely no overhead here. Given that Apple near-universally uses AES for symmetrical encryption, it's reasonable to assume here that FileVault is taking advantage of the AES-NI instructions on Intel's Core-i series of processors.

Our next test tested one of Lion's new features: threaded conversations in Mail. We timed how long it took to launch Mail and open a single email thread with 42 replies. If you've used OS X Mail in the past you'll know that CPU utilization goes insane if you're working on a thread with dozens of replies. The same is definitely true for threaded conversations in Lion.

FileVault Performance - Open 42 Reply Email Thread - Time in Seconds

Thanks to the MacBook Pro's SSD both setups complete this task pretty quickly. There is a penalty associated with FileVault though - around 9% in this case. Peak CPU utilization was similar on both systems, 100% of four threads on the eight thread Core i7.

I grabbed a screenshot of the CPU utilization graph in Activity Monitor during this test for both setups:


CPU Utilization: No Encryption (left) vs. FileVault Enabled (right)

While the two vary slightly, you can see that overall CPU utilization appears to be similar regardless of whether or not encryption is enabled.

Our third test is actually one of our standard OS X CPU benchmarks - we time the import of 203 RAW images into iPhoto. This task is impacted by both CPU and I/O performance:

FileVault Performance - iPhoto Import - Pictures per Minute

Despite the I/O dependency, there's virtually no performance impact to enabling FileVault here.

Our final tests are raw I/O tests using Quickbench. I focused on 4KB and 8KB random read/write since those are the most common transfer sizes for random file access. And for sequential operations I focused on 128KB transfers, again optimizing for common sizes.

FileVault Performance - Quickbench 4KB Random Read (MB/s)

FileVault Performance - Quickbench 4KB Random Write (MB/s)

FileVault Performance - Quickbench 8KB Random Read (MB/s)

FileVault Performance - Quickbench 8KB Random Write (MB/s)

FileVault Performance - Quickbench 128KB Sequential Read (MB/s)

FileVault Performance - Quickbench 128KB Sequential Write (MB/s)

Overall the hit on pure I/O performance is in the 20 - 30% range. It's noticeable but not big enough to outweigh the benefits of full disk encryption. Note that under OS X there's still no way to take advantage of SSD controllers with FDE like the SF-1000/2000 series and the Intel SSD 320.

FileVault Safari, iChat, TextEdit, Preview, QuickTime X
Comments Locked

106 Comments

View All Comments

  • ebolamonkey3 - Thursday, July 21, 2011 - link

    Not seeing them :(
  • LeTiger - Thursday, July 21, 2011 - link

    Ever fix the 17in Sata 3 bugs????

    Such a shame to belligerently cripple their flagship laptop...
  • Conficio - Thursday, July 21, 2011 - link

    "There is one huge limitation though: running apps in full screen in multi-monitor setup is unusable."

    As full screen apps are essentially spaces, there is a huge need (and there was for a long time) to be able to manage spaces per screen. All that would be solved if I coul switch between the spaces in a single screen only or move around entire spaces from one screen to another. That would solve this issue and allow a more task oriented kind of work, where you open a space for every task (or project in a multi tasking sense) you are working on and you can open the various apps you need to work on that project. But then that is the opposite of opening all past docs in an app (?)
  • Conficio - Thursday, July 21, 2011 - link

    "If you were able to include the location in the Quick Add, Quick Add would actually provide a great overall solution for adding new events, but now you need to add the location separately, which kind of defeats the purpose."

    This concept is as ripe as a green banana. I want to be able to mark the text in an e-mail in order to create an event (with link back to the original e-mail). That way I can work with the lazy people that send invitations in any other format than calendar.

    Byt the way go even one more step Appple, and scan all e-mail for addresses, contact info and events and highlight those and with a single click allow me to add the info to my address book or calendar (and with an option send to others in a iCal or vCard format). That would be real progress!
  • teryan2006 - Saturday, July 23, 2011 - link

    umm… I've been doing what you describe, highlighting text in Mail in order to create an event since 10.5. (screenshot: http://cl.ly/25402N2W2E0n281W0r09 )

    Same thing with the email address and contact info. They've been in Mail ever since they added data detectors. http://cl.ly/3V2q0D1z1x1M1X2q0v1v

    If you hover near an email address, time, date, street address, there's a dropdown button that shows up. New in 10.7 is QuickLook style preview for URL in a message

    Did you disabled data detectors? Maybe that's why you're not seeing these things?
  • name99 - Thursday, July 21, 2011 - link

    "I don’t find any use for Launchpad. It's one of the less successful iOS imports - it doesn’t fit in, nor does it bring anything truly new,"

    I think this was a foolish comment. The first sentence is fine, the second is not.
    Not every feature in an OS upgrade is targeted at the same collection of users --- I, for example, couldn't care less about full disk encryption.

    I know for a fact that naive users (precisely the people who don't understand the file system, a class you seem to accept does exist) are completely unfamiliar with the Applications folder. For THIS sort of user, Launchpad is exactly what they need --- an easily understood way to run programs they don't frequently run.

    As for you and I, we can just ignore it --- just I like ignore Japanese input methods, or LDAP support, or a hundred other aspects of my mac that aren't relevant to my particular situation.
  • name99 - Thursday, July 21, 2011 - link

    To follow up on what I said, comparing Launchpad with a Stacks view of the Application folder kinda misses the point. The sort of naive user we're discussing doesn't understand that he may have apps sitting on the desktop, or in the Downloads folder, or in the Utilities folder of /Applications.

    The Stacks view you describe is limited precisely because it is based on PLACE, not on on TYPE, whereas what users almost always want is based on TYPE.

    The fact that it does not honor your pre-existing folder structure is, I would say, in Apple's eyes a temporary issue. Consider iTunes. iTunes doesn't create playlists based on how you grouped songs in the file system --- it assumes that your songs are stored in some bag in the file system somewhere that you will never look at, and imposes its own structure on that content. Launchpad is a vastly simplified version of that same idea, and part of the constant theme throughout Apple's past five+ years of UI work --- arrange content using appropriate metaphors in a high level app, NOT using a limited set of constructs at the file system level.
  • hanssonrickard - Thursday, July 21, 2011 - link

    For example, then macbook pro 15" 2.4 Ghz Core2Duo from early 2008 does NOT support AirDrop.

    Here is compatiblitly list for it and maybe the article shouldbe updated with some kind of note that not all macs will support airdrop.

    Info from "http://support.apple.com/kb/HT4783"

    ----
    Macs that support AirDrop in OS X Lion

    The following list shows the earliest of each Mac model type that is supported. If your Mac is the same, or newer than the model listed, then it supports AirDrop.

    MacBookPro (Late 2008 or newer)
    MacBook Air (Late 2010 or newer)
    MacBook (Late 2008 or newer)
    iMac (Early 2009 or newer)
    Mac Mini (Mid 2010 or newer)
    Mac Pro (Early 2009 with AirPort Extreme card, or Mid 2010)
    ------
  • makruger - Thursday, July 21, 2011 - link

    Too bad it won't run on normal PC hardware without becoming an iHack
  • Sapan - Thursday, July 21, 2011 - link

    Does anyone know for sure if OSX Lion enables TRIM Support for 3rd Party SSDs?
    I know 10.6.8 enabled TRIM for Apple SSDs.
    Could you provide some background/link to how you got that info please?

Log in

Don't have an account? Sign up now