ITF Portal - Banner Topo
Slot: /23408374/itf-ad-banner-topo
720x300, 728x90, 728x210, 970x250, 970x90, 1190x250

Ajustando o Prefetch!

Não, isso não é uma ofensa nem mesmo uma gíria de tribos urbanas. O pré-fetch ( fetch = busca) é uma busca antecipada, ou seja, uma técnica que deixa os dados disponíveis antes de você precisar deles. Os processadores usam inúmeras técnicas de prefetch para antecipar qual o dado será necessário a seguir para armazená-lo […]

Publicado: 13/05/2026 às 01:04
Leitura
4 minutos
Ajustando o Prefetch!
Construção civil — Foto: Reprodução

Não, isso não é uma ofensa nem mesmo uma gíria de tribos urbanas. O pré-fetch ( fetch = busca) é uma busca antecipada, ou seja, uma técnica que deixa os dados disponíveis antes de você precisar deles. Os processadores usam inúmeras técnicas de prefetch para antecipar qual o dado será necessário a seguir para armazená-lo na memória cache interna (L1 e L2) antes que o processo pare aguardando a sua disponibilidade, e com isso se ganha muito desempenho.

O Windows XP, bem como o Windows Vista que Flávio Xandó analisou na sua coluna primeiras impressões , também utilizam técnicas de prefetch para abrir programas ou iniciar a máquina mais rapidamente. O principio é o mesmo, uma vez que o Windows entendeu que você vai usar um determinado programa, ele carrega parte desse programa na memória antecipadamente. Essas informações são salvas no diretório C:WINDOWSPREFETCH em arquivos com a extensão .pf (de prefetch, obviamente), que são na verdade partes dos programas principais.

[photoframe size=large desc=

Acima temos um gráfico da própria Microsoft que mostra as características de boot de um sistema sem prefecth, e abaixo com o prefecth. O gráfico de barras indica a quantidade de I/O necessária para processar o boot, note que no gráfico abaixo o tempo total e a quantidade de leituras é significativamente menor.

[photoframe size=large desc=

Mas nem tudo é perfeito, uma vez que essas informações vão se acumulando com o tempo nesse diretório, a carga das centenas de pequenas partes dos programas que você alguma vez usou na vida se torna muito lenta, e o efeito se inverte, causando um atraso considerável no tempo de boot do Windows XP. Faltou um pouco de inteligência no processo de limpeza dessa pasta, ou na atribuição de prioridades para a manutenção do arquivo nessa pasta. Surgiram, então, diversos utilitários que prometem “controlar” melhor essa pasta, basta procurar no google por “control prefetch”.

Essa semana, na sua colunano jornal O GLOBO, nosso mestre explica mais sobre a pasta prefech e deixa uma dica de como desabilitar esse recurso definitivamente, através de uma chave no registro.

Porém, aqui no fórum vi um tópico muito interessante sobre as características do boot do Windows Vista que poderiam ser incorporadas ao Windows XP. A principio, o Windows Vista possui uma nova chave no registro chamada superfetch que utiliza uma técnica mais apurada para o gerenciamento do prefetch, reduzindo o tempo de boot da máquina e da carga dos programas simultaneamente sem acumular sujeira com o tempo. A dica é até simples, basta alterar uma chave no registro e incluir outra.

A questão é relativamente polêmica, há quem diga que essa nova chave não tem função nenhuma no Windows XP, e que os benefícios são percebidos em função da outra chave, que tem seu valor alterado. Vamos ver com mais detalhes:

A chave fica em:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession

ManagerMemory ManagementPrefetchParameters

Nesse local você encontra várias informações, uma delas é:

EnablePrefetcher (DWORD) = 0x00000003

A dica seria alterar essa chave para 0x00000001 e incluir uma nova chave para o Superfetch:

EnableSuperfetch (DWORD) = 0x00000001

Não há nenhuma informação ou documentação confiável sobre o Superfetch ou sobre a tal chave no Windows XP, mas há sim uma que explica detalhadamente o EnablePrefetcher, e seus respectivos valores:

EnablePrefetcher (DWORD)

0x00000001= application launch prefetching

0x00000002= boot prefetching

Parameters are ANDed, so if all were enabled, the setting would be 0x00000003.

(*) essa informação se encontra no paper Memory Management Enhancements da Microsoft.

Portanto, a alteração do EnablePrefetcher de 3 para 1 (em decimal) apenas altera o modo de operação do prefetch para atuar apenas nas aplicações e não mais no boot. O valor 2 indica que apenas o boot será pré buscado, e o 3 aciona os dois modos simultaneamente, que é o padrão do Windows XP.

Segundo alguns analistas, a noticia sobre o Superfech no Windows XP é completamente FAKE (falsa), e os benefícios que alguns usuários relatam está relacionado ao valor do EnablePrefetcher que passa de 3 para 1. Particularmente concordo com essa informação.

Mas uma coisa ainda me intriga, por que ao desabilitar o prefetch do boot (valor 3 ou 2) mantendo apenas o das aplicações (valor 1), de fato há uma redução no tempo de boot que comprovei em testes com várias máquinas? Não deveria ser ao contrário?

Mais um mistério que só a Microsoft poderá responder.

Para terminar, a Dica do Piropo de hoje diz que o valor 0 na chave EnablePrefetcher desabilita por completo o prefetch no Windows XP.

As melhores notícias de tecnologia B2B em primeira mão
Acompanhe todas as novidades diretamente na sua caixa de entrada
Imagem do ícone
Notícias
Imagem do ícone
Revistas
Imagem do ícone
Materiais
Imagem do ícone
Eventos
Imagem do ícone
Marketing
Imagem do ícone
Sustentabilidade
Autor
Notícias relacionadas