6

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).

2
  • 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? Nov 13, 2011 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. Nov 13, 2011 at 2:36

3 Answers 3

2

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.

2
  • 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. Nov 13, 2011 at 9:34
  • Just marked this as accepted (finally). FYI the first part of your answer is exactly the same thing I stated in my question, I think you may have misunderstood me. ;) Dec 31, 2014 at 22:56
1

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.

0

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .