Superfetch and SSDs

Rus

Senior Member
#1
Win 7 Superfetch works great with my HDD. So, why wouldn’t it also work great with my new SSD?
 


patcooke

Microsoft MVP
Staff member
Premium Supporter
Microsoft MVP
#2
Given the speed advantage of SSD over HDD I doubt if there would be any noticeable benefit.
 


Digerati

Fantastic Member
Microsoft MVP
#3
I think there's some confusion over what superfetch is or does. Superfetch works in RAM, not on your drives - though it was created to compensate for use with slower "mechanical" storage devices (such as hard drives). If you regularly use Word, for example, Superfetch will preload in your RAM (not HD or SSD) Word components so Word starts faster for you.

If you regularly use Excel, Superfetch would preload much of it.

Because Superfetch was designed to work with slower mechanical storage devices, it is, by default, disabled for SSD drives, as noted here. Why? Because data retrieval from SSD drives is not hampered by slow mechanical devices.

Bottom line, Superfetch was not designed to work with SSD drives, because they don't need the help.
 


whs

Extraordinary Member
#4
In my book it would be stupid not to use Superfetch - SSD or HDD. RAM is still 100 times faster than a SSD. Especially if you have a lot of RAM, you will get a lot of stuff cached and you quasi have a RAM-disk. Check the performance of a RAM-disk and compare with that of a SSD - then you will see the difference.

You can make another test. If you run virtual partitions - e.g. Virtual Box - compare the first boot of your OS in the virtual partition versus the second or third boot. Here I have an example of booting Windows8 CP in Virtual Box. But that is a second boot which was a lot faster than the first boot from the SSD because it was already cached. http://www.youtube.com/watch?v=UAJeKCeXlUU
 


Last edited:

Rus

Senior Member
#5
In my book it would be stupid not to use Superfetch - SSD or HDD. RAM is still 100 times faster than a SSD. Especially if you have a lot of RAM, you will get a lot of stuff cached and you quasi have a RAM-disk. Check the performance of a RAM-disk and compare with that of a SSD - then you will see the difference.
From what I've been able to learn, you are correct. I have 8gb RAM and when I receive my replacement SSD I plan of continuing the use of Superfetch for the very reason you've mentioned. RAM is faster than SSD. Thanks.
 


#6
FWIW,

I found this from MSDN archives, written by Steven Sinofsky, Support and Q&A for Solid-State Drives:


Will Superfetch be disabled on SSDs?

Yes, for most systems with SSDs.
If the system disk is an SSD, and the SSD performs adequately on random reads and doesn’t have glaring performance issues with random writes or flushes, then Superfetch, boot prefetching, application launch prefetching, ReadyBoost and ReadDrive will all be disabled.
Initially, we had configured all of these features to be off on all SSDs, but we encountered sizable performance regressions on some systems. In root causing those regressions, we found that some first generation SSDs had severe enough random write and flush problems that ultimately lead to disk reads being blocked for long periods of time. With Superfetch and other prefetching re-enabled, performance on key scenarios was markedly improved.
Source: Support and Q&A for Solid-State Drives - Engineering Windows 7 - Site Home - MSDN Blogs
 


Rus

Senior Member
#7
I appreciate your input but your source is three years old and folks have tried both ways. Some find it is faster with Superfetch and others not so much. If it works with your SSD use it. If not disable it.
 


whs

Extraordinary Member
#8
FWIW,

I found this from MSDN archives, written by Steven Sinofsky, Support and Q&A for Solid-State Drives:




Source: Support and Q&A for Solid-State Drives - Engineering Windows 7 - Site Home - MSDN Blogs
Yeah, I know this article. But I think he is wrong. Although the delay for fetching something from a SSD versus a HDD is a lot shorter, from RAM it is even shorter than from a SSD. Just compare the metrics of RAM and SSD and it figures.

And you can easily make the experiment - with Superfetch enabled. Load some big program first time and compare to loading it a second or third time. You will find that the first load (from SSD) is the longest. No need to use sophisticated measuring tools - just go by your gut feel. I use an OS in Virtual Box for this experiment.
 


Rus

Senior Member
#9
I totally agree!! Thanks.
 


Digerati

Fantastic Member
Microsoft MVP
#10
Yeah, I know this article. But I think he is wrong.
Please be specific. Where exactly do you think he is wrong? I note the last sentence under the heading/FAQ, Will Superfetch be disabled on SSDs? it says,
With Superfetch and other prefetching re-enabled, performance on key scenarios was markedly improved.
 


whs

Extraordinary Member
#11
Be default, Windows 7 will disable Superfetch, ReadyBoost, as well as boot and application launch prefetching on SSDs with good random read, random write and flush performance. These technologies were all designed to improve performance on traditional HDDs, where random read performance could easily be a major bottleneck. See the FAQ section for more details.
This is the iffy part.
 


Rus

Senior Member
#12
When I cloned my SSD from my HDD the Superfetch was not disabled.
 


Digerati

Fantastic Member
Microsoft MVP
#13
This is the iffy part.
I don't see it. It states the defaults, then is says why - because those technologies were designed for slow moving HDs. Nothing iffy there as that is all true.

It should also be noted that Windows 7 was designed when SSD reliability and longevity were still in flux. Newer SSDs are much more robust, BUT - many earlier SSDs are still in use. Maybe Windows 8 defaults will be different. Hurry up and wait n' see.

It should also be noted that no drive (SSD or HD) compensates for a lack of sufficient RAM!!! This is critical. The new "sweetspot" is 8Gb of RAM with 64-bit Windows 7 (on dual-channel boards, 6Gb for triple-channel).

SSD performance should not be compared to RAM performance - they do different things. One is working space, the other is storage space.
 


whs

Extraordinary Member
#14
This is iffy in a double sense. 1) the notion to turn off Superfetch which is counterproductive and 2) the fact that it is actually not turned off. So the info is wrong.
 


Digerati

Fantastic Member
Microsoft MVP
#15
I guess we will just have to disagree on this one. I contend it is not a given that SSDs benefit from Superfetch enabled. On some SSDs for some functions, yes. But not all. I also disagree with your comment that it is not turned off. If you have HDs only, or a mixed system - that is, both HDs and SSDs, Superfetch will be enabled (but defragging will be disabled for the SSD). If you have a SSD only system (no HDs), Superfetch will be disabled by default - at least that is how the two SSD only and 4 mixed systems here are set, and those are settings I did not change.

In any case, I say try it both ways and see what happens. Depending on your system, it may be (or seem) quicker, or not. Either way, no harm in testing. Just remember that prefetch and Superfetch need a few user-sessions to figure you out. So each test period should last a few days to be properly reflective.
 


This website is not affiliated, owned, or endorsed by Microsoft Corporation. It is a member of the Microsoft Partner Program.
Top