Что такое prefetch и почему его отключают?

Изначально служба prefetch разрабатывалась как отдельный компонент ОС Windows (начиная с ОС Windows XP) для ускорения запуска системы и приложений. Все это было в далеком 2001 году. Представляете конфигурацию компьютеров в те времена?

Теперь вернемся в наш 2018 год.

Проблема кэширования данных уже давно решена на аппаратном уровне и заложена в любой жесткий диск с магнитным накопителем. Где для кэширования данных есть собственная память, объем которой рассчитывается исходя из скорости вращения диска, чтобы соответсвовать максимальной пропускной способности для интерфейсов подключения (IDE, далее SATA и прочие).

Почему надо отключать эту службу? Служба prefetch (в списке служб она называется prefetcher) наблюдает за запуском приложений и создает файлы трассировки оптимизации кода. Эта сложная структура кэша исполняемого кода, которая собирается ограниченное время (10 секунд после запуска) и подставляется в память при повторном запуске приложений. Отключают эту службу потому, что время потраченное на создание трассировки, намного больше, чем время и скорость считывания данных с современных жестких дисков. Тем более появились более быстрые SSD диски.

Microsoft в принудительном порядке отключает prefetch на собственных планшетах линейки Surface.

Так как, это обусловлено экономией места на накопителях и увеличением производительности системы! Почему Microsoft не дает возможность отключать самостоятельно prefetch - загадка, скорей всего это делается в маркетинговых целях.

Изучая проблему SuperFetch, мы вышли на его родственников (prefetch и readyboot)
и решили добавить их отключение в утилиту superfetch.exe.

Скачать SuperFetch for Windows

Версия 2.03, Файл: superfetch.exe, размер: 0.4 Мб. Обновлено: 24.10.2018