Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Considering solid-state disk space is still an expensive resource, compressing large folders has appeal. Thanks to VirtualStore, could Program Files be a case where it might even improve performance?

Background

In particular I have been reading:

SSD and NTFS Compression Speed Increase?
Does NTFS compression slow SSD/flash performance?
Will somebody benchmark whole disk compression (HD,SSD) please? (may have to scroll up)

The first link is particularly dreamy, but maybe head a little too far in the clouds.

The third link has this sexy semi-log graph (logarithmic scale!).

*SEMI-LOG* graph of NTFS compression performance on an SSD

Quote (with notes):

Using highly compressable data (IOmeter), you get at most a 30x performance increase [for reads], and at least a 49x performance DECREASE [for writes].

Assuming I interpreted and clarified that sentence correctly, this single user's benchmark has me incredibly interested. Although write performance tanks wretchedly, read performance still soars. It gave me an idea.

Idea: VirtualStore

It so happens that thanks to sanity saving security features introduced in Windows Vista, write access to certain folders such as Program Files is virtualized for non-administrator processes.

Which means, in normal (non-elevated) usage, a program or game's attempt to write data to its install location in Program Files (which is perhaps a poor location) is redirected to %UserProfile%\AppData\Local\VirtualStore, somewhere entirely different.

Thus, to my understanding, writes to Program Files should primarily only occur when installing an application. This makes compressing it not only a huge source of space gain, but also a potential candidate for performance gain.

Is this accurate? Will compressing Program Files provide a significant read performance improvement with only a negligible write performance degradation thanks to VirtualStore?

I've postponed my own testing of Program Files directly due to confusion from the beginning of this post which suggests turning compression off may not immediately decompress the files (though I intend to use the compact command which may).

share|improve this question
    
What are you asking? Could selective file-level compression on an SSD possibly help improve performance, or if Windows is marking files for decompression at next read? Have you considered just benchmarking, making a backup, compressing the folder and then benchmarking (restore from backup if needed)? Are you asking us if we've done it? Are you asking us if we think it's a good idea? –  Ƭᴇcʜιᴇ007 Nov 13 '11 at 2:19
    
I made some edits I hope this is better. Benchmarking a separate folder with a backup is a good idea for a partial test. A backup/restoration of Program Files is a bit more of an affair I'd hope to avoid, but may yield to. Thanks for the input. –  Christopher Galpin Nov 13 '11 at 2:36
add comment

3 Answers 3

There is a flaw in your line of thinking.

Thus, to my understanding, writes to Program Files should primarily only occur when installing an application. This makes compressing it not only a huge source of space gain, but also a potential candidate for performance gain.

Virtual Store is not used if the program is running as Admin. In the case of Setup Programs, this is all setup programs.

It's very rare to run into a program that isn't UAC aware these days and where VirtualStore takes over. For example, my Virtual Store only lists Foxit Reader.

Compressing it though, does look interesting. In my case, compressed my Program Files out of curiosity. My most disk intensive programs is the Total War series: Napoleon, Empire, Shogun 2. In particular, switching between Battle map and the Campaign map involves a heavy amount of reads.

I decided to compress the Steam folder and fire it up a few times. Predictable, since the game loads require heavy sequential reads, it was slower. My map loading times went from 38 seconds to about 48, although it actually took over two minutes my first time loading.

I haven't tried other applications.

share|improve this answer
    
I'm a little confused, your response is the same as the quotation? Oh perhaps I should have been more clear by "installing an application" I meant setup programs, indeed they'd suffer. Agreed about the rarity of non-UAC aware programs, though the number is 14 on my system. :) Thanks for the feedback! I'll conduct & post my own results eventually. –  Christopher Galpin Nov 13 '11 at 9:34
add comment

It will depend on your system. Compact command is fast, but not compress files so good. Average read speed is known and average decompression speed also can be calculated. But I don't think that there is possible significant improvements. At least it's not so good for single core processor.

There is a dilemma:

[load time of uncompressed data]

vs

[load time of compressed data]+[decompression time] (higher memory usage in as the side effect)

loading time from ssd is about 150-200mb/sec, decompression speed is about 20mb/sec. So, usual compression raito should be more than 10x and it doesn't looks like a real thing.

share|improve this answer
add comment

Actually, the graph in the third article is not entirely accurate. Turning on compression from within Windows does NOT compress all files that are actually safe to compress. You can easily verify this by looking inside system folders with color highlighting enabled for compressed files.

The solution? I found a tool called Drive Press and I have devoted today to singing its praise: I've been able to realize triple space savings with it. Literally.

I think this tool would also improve overall SSD performance, because there is more spare area available on the drive.

My average space savings are now 20%-25% (but this is only after using Drive Press, which compresses more than Windows itself somehow). Windows compression itself gave me 5%-10% max on the same data set.

Basically, if you're looking at NTFS compression, you must check out Drive Press. It won't boot you out of NT either - when I was trying to manually compress every file using Explorer (a very untenable proposition anyways), I did compress boot loader files and had to decompress my drive using an external USB connection on another computer before I could get into Windows again. Even though Drive Press compresses much better than Windows, it does not compress what must remain clear.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.