I would be guessing you are asking why this happens.
Bob
![]() | Thank you for being a valued part of the CNET community. As of December 1, 2020, the forums are in read-only format. In early 2021, CNET Forums will no longer be available. We are grateful for the participation and advice you have provided to one another over the years. Thanks, CNET Support |
It says "ready boost is not enabled because the service responsible for ready boost (sysmain) has been turned off on this computer" I did not turn any service off...
Discussion is locked
It's more than that. Superfetch uses a predictive algorithm to try and anticipate the kinds of things you're going to load based on past behavior. It might take a couple of weeks or even a month, depending on how much you use your system, but over time it should zero in on things and get much more accurate. Turning it off means you're doing demand based loading where things are loaded only as they're needed. It's considerably slower and if you're worried about the wear and tear on your HDD, the differences are pretty negligible.
If every single day you're doing something completely different from the previous day with your computer, superfetch might not be such a good idea, but for pretty much everyone else, who has certain habits and routines, it can have a net positive impact on system performance.
I'd personally say it's a pretty stupid thing to turn off, but if people want to sabotage their system's performance, it's nothing to me.
With it turned off I now waste a few seconds a day doing a manual load on stuff.
How silly of me!
It's more than that, it has to do with people's perception of system responsiveness. For decades now, internally, Microsoft has coded things so that GUI operations have a higher priority than other tasks because if you try and interact with a program and you don't see that immediate visual feedback that whatever you're doing is being recognized, you will tend to assume the program (or even the OS) is frozen. It might very well be, or it might be doing some legitimate and complex task that just takes some time. If you've ever done any programming, you know that those progress meters in a lot of programs aren't necessarily tied to how far along in some process the program is, they just move to give people the impression that something is happening. That's why sometimes that last 10% can take 2-3X longer than the first 90%.
Plus, those seconds add up. At work when a project I'm working on nears its final stages I have to send email notifications to various other departments. I could manually create each one of those emails every single time or even create email templates and it probably wouldn't take me very long. Or I could create a macro in Outlook which will let me select yes or no to a series of questions and then generate the necessary emails for me. The amount of time I save just creating the emails may not be huge, but when you factor in how this department needs this additional bit of information or that department needs some other bit of information, now I can handle that in a uniform and programmatic way so I don't waste time sending the notification only to have that department point person come back and ask me for some bit of information, find it for them, send it back, wait for them to read the new email, do their bit of work, and let me know when it's done. Depending on the day, that can save me hours or even days if the wrong people are on vacation at the same time. If it's a high priority project, all the more important to get people everything they need up front. I also save time on the back end, if someone comes along a few months later needing to know something about project XXXXXXX, I know that all of my email subjects for project XXXXXX have XXXXX in them, so I can very quickly locate all messages related to that particular project. Or it makes it faster for me to create a filtering rule to dump all messages associated with a project into its own folder.
It's not always about the up front savings, there are often plenty of ancillary time savings to be had. It's a mindset a lot of people would benefit from. Instead of just looking at the immediate impact, positive or negative, on them, look at some of the broader implications. One of my favorite examples is taxes. No one likes paying them, but you can look at the out of control death spiral of college tuition these days, which can be traced back pretty readily to when a lot of states stopped providing funding to state universities. To quote Ronald Reagan: States "should not subsidize intellectual curiosity" Sure, it might have a nice little impact on your wallet in the short term to the tune of a couple dollars every year, but now all those universities have to make up for that shortfall somehow and the most obvious place is to jack up tuition. So now a couple years later if you, or your kids, want to go to college (because someone with a college degree earns a median $1m more in their lifetime compared to someone without, not to mention it's a baseline requirement to even be considered for most jobs), the increased tuition for a single semester is going to wipe out any savings you might have gotten from the reduction in taxes and send you deep into the red.
If it were only about saving the odd second or two, Microsoft wouldn't have invested all that time and resources into developing a learning predictive algorithm. There's a lot more to it than that, because who knows where it might prove to be a useful foundation for some feature not yet even thought of? Not to mention people are always whining about how slow and bloated Windows is, so you'd think they would applaud any effort aimed at addressing those concerns. There's just no pleasing some people; you give them exactly what they want and then they complain about it because of some imagined potential problem with the specific way it was done based on their essentially zero experience in such matters. But even if it is just about saving the odd second or two... It's essentially free from the user's perspective, so why not? I don't understand the mindset of going out of your way to deny yourself even a marginal performance benefit. It may not be a magic bullet solution, but every little bit helps and I don't have to actually do anything to benefit from it. Seems like a win-win situation to me if you're not the perpetually negative sort who will manage to find a way to complain about anything and everything.
If you want some task making a best guess about what stuff you will need today and then loading it in the background........go for it.
Cost?.....not much....maybe a little extra disk thrashing if it guesses wrong.
I chose to load what I need when I need it.
Yes if I had superfetch running it might load quicker assuming it had guessed correct.
I'm looking at this from the point of Joe Average you seem to be looking at this from the point of Joe Power user.
learning predictive algorithm.
No idea what that means I'll leave that to you power users.
Question.....do you type by the 'hunt and peck method'?
No... You're looking at it from a vantage point of your own personal experience and then expanding that to encompass the sum total of everyone else's experiences. I wish I could remember the term sociologists give to that, but I digress.
I'm looking at it from the perspective of someone who has at least enough software development experience to understand the broader implications at work. You would be amazed at how much psychology a good programmer needs to know. Probably a good quarter of your time is spent trying to imagine every possible stupid thing a user could do with your program and then devising some means of dealing with it gracefully. I maintain and develop a MS Outlook macro for work and at one point I have one of my coworkers pinging me on Lync saying my macro isn't working for her. Turns out where I was assuming people would enter in only numbers for an internal tracking number, she decided to add letters designating what kind of tracking number it was. So I had to build in checks against people putting in letters where the program was expecting only numbers.
Another good chunk of time is spent trying to subtly train/encourage users of your program to use it in the way you intended, because that's all you're going to guarantee will work. I was brought in on coming up with possible changes to a standard form at work. One of the fields is for the shelf life of a particular material. My group needs that data in days, but frequently we get something like "3 months". So we took some time to stop and think about how we can encourage other departments to give us the data only in days. We also ran into a situation where we need measurements in metric units and someone not only gave us imperial units, but they used a colloquial means of designating the imperial unit on each measurement instead of using the field on the form specifically designated for the unit of measure. So we included checks for that as well. Of course we had to try and do this all very subtly so that it didn't come across as being heavy handed. Really the goal is just to try and catch and correct common errors as early as possible in the process.
Superfetch is about addressing the psychology of how people perceive computer responsiveness. The shorter the time between my clicking a button to launch a program and that program being on screen ready for me to use, the faster my computer and more responsive appears to be. If I click on a menu and I have to wait for 2-3 seconds for it to draw elements into that menu, my perception is that the program is slow, even though it is far more likely a hardware bottleneck. Even with a SATAIII SSD, getting data from the SSD to the CPU is hundreds of times slower than getting that same data from RAM to the CPU. CPUs and RAM have gotten exponentially faster over the years while HDDs have barely moved the needle. SSDs are a decent start, but are still several hundred times slower. This is also why CPUs have increasingly large on-die caches. If 5/7 days of the week, you use Microsoft Word, it makes sense for the OS to start loading parts of MS Word into memory when the system is otherwise largely idle. That is what superfetch does. There is basically no downside to using superfetch, since it only operates when the system is essentially idle. If it guesses right, Word might load almost instantaneously. If it guesses wrong, you're no worse off than if you had disabled it. So again, there's basically no downside to it until we have some kind of long-term storage mechanism which is on par with SDRAM performance wise.