PREFETCH : utilité ?

Le
testeur
Bonjour à tous.

A la suite de la lecture de différents articles sur le NET concernant la
fonction PREFETCH (le mythe), j'ai voulu me rendre compte par moi-même.
Je viens donc de faire une série de tests sous windows XP sp3 pour essayer
de déterminer l'utilité du prefetch.
J'ai fait une série de 4 mesures dans les mêmes conditions et pris la valeur
moyenne.
j'admet qu'il peut il y avoir une erreur de 5 sec sur chaque valeurs due au
chronométrage manuel (start-stop-lap)
Conditions :
Bi-Processeur AMD 4800+ , 4GB, disque système dédié, pagination sur autre
disque.
- défragmentation préalable du disque système
- désactivation de la carte réseau (pas de perturbation externe)
- relance immédiate du PC à la fin du test (pas d'autres applications
lancées)
- lancement en automatique du gestionnaire de taches
- attente de la fin de chargement de tous les processus (55 actifs) avec CPU
=0%
- ouverture d'un fichier WORD

Préfetch Activé (valeur 3 dans la base de registre)
apparition du panneau Logon : 1 mn 15 sec
apparition du paneau Taskmanager : 2 mn 36 sec
fin de chargement de tous les processus : 3 mn 33 sec
ouverture du fichier Word : 13 sec

Préfetch Dé-activé (valeur 0 dans la base de registre)
apparition du panneau Logon : 1 mn 13 sec
apparition du paneau Taskmanager : 2 mn 26 sec
fin de chargement de tous les processus : 3 mn 05 sec
ouverture du fichier Word : 11 sec

Dans le meilleurs des cas, en tenant compte de la marge d'erreur, on peut
dire que les résultats sont quasi identiques.
Si l'on pinaille : Préfetch dégrade les performances

Je me propose de faire prochainement les mêmes tests sous Vista et Windows7.
Mais si quelqu'un a des informations autres, je suis preneur.

Olivier
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Claude LaFrenière
Le #19033931
Bonjour testeur, vous nous annoncez:


A la suite de la lecture de différents articles sur le NET concernant la
fonction PREFETCH (le mythe), j'ai voulu me rendre compte par moi-même.
Je viens donc de faire une série de tests sous windows XP sp3 pour essayer
de déterminer l'utilité du prefetch.



Quel mythe exactement?

Couiiiic!

Dans le meilleurs des cas, en tenant compte de la marge d'erreur, on peut
dire que les résultats sont quasi identiques.
Si l'on pinaille : Préfetch dégrade les performances



Ben voyons... :-S

Permet d'améliorer les performances du démarrage de W xp et des
applications les plus utilisées ... (128 max.)

Par défaut Windowx XP trace les deux premières minutes du démarrage, les
60 secondes qui suivent la fin de l'initialisation des services, les 30
secondes suivants le démarrage de la session de l'utilisateur et les 10
premières secondes du démarrage d'une application.Ces informations sont
conservées dans des métadonnées du MFT (Master File Table) et transmet un
avertissement au service du Planificateur des Tâches.

Le Planificateur des tâches exécute un appel au système pour accéder à ces
données et exécute des opérations à partir de ces données puis écrit dans
le dossier prefetch les fichiers avec l'extension .pf

Quand le système démarre ou qu'une application est lancées le gestionnaire
du cache vérifie le dossier prefetch pour trouver le fichier de trace
(.pf) correspondant. Si c'est les cas le gestionnaire de cache fait appel
au gestionnaire de la mémoire pour charger les données du fichier de
traçage.

Qu'est-ce qui fait alors que cela améliore les performances ? C'est que
les données de traçage du prefetch sont placées de façons contigües sur le
disque au lieu d'être éparpillées un peu partout.Ce qui réduit les accès
au disque pour retrouver les fragments de fichiers nécessaires au
lancement du démarrage ou d'une application et augmente de ce fait la
vitesse de l'opération.

Par défaut Windows xp fait une défragmentation "partielle" équivalente au
trois jours. Le fait de lancer vous-même la commande suivante avec le
Planificateur des Tâches toutes les nuits (par exemple) permet d'accélerer
la procédure en question et améliore les performances de votre système en
défragmentant les données de traçage du démarrage et des applications les
plus utilisées. Et cela permet surtout de constater ceci:

(Nota Bene: Le service Planificateur des tâches doit être démarré et en automatique )

Vérifiez cette valeur:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
ManagerMemoryManagementPrefetchParameters
La clé EnablePrefetcher REG_DWORD doit être à 3.

ET NE DOIT PAS ËTRE MODIFIÉE.

La commande : %windir%system32Rundll32.exe advapi32.dll,ProcessIdleTasks

lance plusieurs processus dont :

1-

La commande defrag -p process id de svchost en HEX -s sous-système -b boot" X: où X est la lettre du volume.

Par exemple :

"C:WINDOWSsystem32defrag.exe" -p 56c -s 00000384 -b C:

56c = 1388 = PID de :
C:WINDOWSSystem32svchost.exe -k netsvcs

00000384
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWBEMCIMOM]
"ProcessID"=dword:0000056C

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWBEMTRANSPORTSDecoupledServer]
"ProcessIdentifier"=dword:0000056C

Le «00000384» du sous-système varie selon le current control set utilisé.

Tel que:
[HKEY_LOCAL_MACHINESYSTEMControlSet002EnumPCIVEN_1106&DEV_3104&SUBSYS_39021462&REV_823&61aaa01&0&830000384]

2- La commande DfrgNTFS
Le module de défragnentation du NTFS

3- La commande C:WINDOWSSystem32wbemWMIADAP /F /R

L'utilitaire de filtrage des bibliothèques de performances de WMI
(Windows Management Instrumentation)
= Windows Management Intrumentation Auto Discovery Auto Purge

/F trie et analyse les données de performances
/R trie et analyse les Windows Driver Model du système

4- La commande C:WINDOWSSystem32wbemwmiprvse.exe

wmipsrvse est un processus "hôte" séparé de WMI (il peut y en avoir
plusieurs). Empêche WMI de planter tout le système en cas de problème
avec un "fournisseur de service" ...

et met à jour les fichiers du dossier prefetch
qui NE doivent PAS être supprimés...

etc. bla bla bla...

BREF, le prefetching dans Windows a été developpé pour améliorer les
performances ET les valeurs par défaut du prefetch NE doivent PAS être
modifiées par les utilisateurs... Tout le reste est de la foutaise.

Si c'est de ce "reste" dont vous parliez, c'est effectivement un mythe
comme la plupart des bidouilles inouïes que l'on trouve sur le Ouaibe.

Les gens de MS qui ont développés Windows doivent s'y connaître
un peu plus que les boutonneux de la Toile je crois... ;-)

Et sur ces paroles mémorables, je retourne m'amuser avec Linux
car Ouinedôze, j'en ai ma dose. (Ce sera aussi le cas du Pingouin
à tête de linotte sous peu et si ça continue je vais passer
tranquillement à DOS, CP/M ou le JCL d'IBM 360! ;-) )

Bien cordialement.
:)
--
Claude LaFrenière [climenole]
Site: http://climenole.wordpress.com/
FriendFeed: http://friendfeed.com/climenole
Profil & Contact: http://www.google.com/s2/profiles/111152488607912291231?hl=fr&zxÏrw6lacngsd
testeur
Le #19035311
Merci de votre explication que je connaissais déjà : je ne suis pas ignare
en informatique, j'ai plus de 40 ans d'expérience derrière moi et je connais
a peu près tous les systèmes, grands systèmes IBM, les variantes d'Unix,
Vax/Vms, et autres systèmes Microsoft (peut être moins dans le détail que
vous sur ce point).
Je voulais simplement faire un constat : les chiffres (sur ma configuration)
sont parlants :
le PREFETCH ne sert strictement à rien

Permet d'améliorer les performances du démarrage de W xp et des
applications les plus utilisées ... (128 max.)


ce n'est pas du tout ce que je constate chez moi, et nombreux témoignages en
ce sens sur le Net, ce qui à motivé ma série de test.

Je vais voir sur Vista et Seven s'il apporte quelque chose.

Je pense que Microsoft aurait mieux fait de dépenser son énergie à améliorer
les algorithmes d'allocation d'espace pour les fichiers afin de limiter la
fragmentation, et fournir un utilitaire de défragmentation performant et
efficace (véritable consolidation de l'espace libre, regroupement des
fichiers d'une même application, possibilité de positionner les fichiers ou
l'on veut sur le disque,...), car avec augmentation de la taille des disque,
je constate une dispersion des fichiers de plus en plus grande, et malgré
l'amélioration des performances de ces mêmes disques, la fragmentation
contribue toujours à des dégradations de performance.
Pour exemple je fais beaucoup de montage vidéo, donc avec des fichiers de
plusieurs GB, et des centaines de fichiers de dizaines de MB, et je suis
effaré de voir comment ils se répartissent sur mes disques (1TB + 500 GB
dédiés). Et les durées de traitement s'en ressentent fortement.
(Bien sûr aucun impact pour le pequin lambda qui a juste quelques messages
et photos sur son unique disque dur).

Je suis critique vis à vis de Microsoft, mais veut être constructif, mais il
n'y a pas plus sourd qui ne veut point entendre.
Dommage, parce qu'il y a de très bonnes idées dans d'autres systèmes, que
Microsoft pourrait reprendre à son compte.

Cordialement,

Olivier
Claude LaFrenière
Le #19039311
Bonjour Olivier aka testeur :-)

Merci de votre explication que je connaissais déjà : je ne suis pas ignare
en informatique, j'ai plus de 40 ans d'expérience derrière moi et je connais
a peu près tous les systèmes, grands systèmes IBM, les variantes d'Unix,
Vax/Vms, et autres systèmes Microsoft (peut être moins dans le détail que
vous sur ce point).



Ne le prenez pas comme ça Olivier... :-S

Je ne remet pas en cause votre expérience et vos connaissances mais sur le
sujet du prefetching dans Windows vous êtes dans l'erreur, ce qui arrive à
tout le monde de temps à autre...

Je voulais simplement faire un constat : les chiffres (sur ma configuration)
sont parlants :
le PREFETCH ne sert strictement à rien



Vous ne disposez pas de données suffisantes pour aboutir à cette
conclusion. Cependant il vous suffit de désactiver complètement
les fonction de prefetching pour constater son utilité...

Une autre façon de le vérifier est en créant un nouvel utilisateur:
les fichiers de traçage n'ayant pas été créés, le démarrage s'en
trouve ralenti. Par la suite l'accès se déroule à une vitesse plus
acceptable justement à cause des fichiers .pf ...

etc.

Permet d'améliorer les performances du démarrage de W xp et des
applications les plus utilisées ... (128 max.)





ce n'est pas du tout ce que je constate chez moi, et nombreux témoignages en
ce sens sur le Net, ce qui à motivé ma série de test.



Qui ne sont pas valables...
Pour ce qui est des "témoignages" sur le Net,
permettez-moi de ("respectueusement") rigoler. :-D

Je vais voir sur Vista et Seven s'il apporte quelque chose.

Je pense que Microsoft aurait mieux fait de dépenser son énergie à améliorer
les algorithmes d'allocation d'espace pour les fichiers afin de limiter la
fragmentation, et fournir un utilitaire de défragmentation performant et
efficace (véritable consolidation de l'espace libre, regroupement des
fichiers d'une même application, possibilité de positionner les fichiers ou
l'on veut sur le disque,...), car avec augmentation de la taille des disque,
je constate une dispersion des fichiers de plus en plus grande, et malgré
l'amélioration des performances de ces mêmes disques, la fragmentation
contribue toujours à des dégradations de performance.



Suffit d'utiliser une défragmentation ciblée lancée par le Planificateur
des tâches avec contig de Mark Russinovich de TechNet Sysinternals
par exemple...

Pour exemple je fais beaucoup de montage vidéo, donc avec des fichiers de
plusieurs GB, et des centaines de fichiers de dizaines de MB, et je suis
effaré de voir comment ils se répartissent sur mes disques (1TB + 500 GB
dédiés). Et les durées de traitement s'en ressentent fortement.
(Bien sûr aucun impact pour le pequin lambda qui a juste quelques messages
et photos sur son unique disque dur).



*Rép.:* Vous devriez postuler un emploi chez Billou ;-)

Je suis critique vis à vis de Microsoft, mais veut être constructif, mais il
n'y a pas plus sourd qui ne veut point entendre.
Dommage, parce qu'il y a de très bonnes idées dans d'autres systèmes, que
Microsoft pourrait reprendre à son compte.



Voir *Rép.:*

Bonne journée.
:)
--
Claude LaFrenière (climenole)
Site: climenole.wordpress.com
Profil & Contact:
http://www.google.com/s2/profiles/111152488607912291231?hl=fr&zxÏrw6lacngsd
testeur
Le #19039701
Re bonjour
Vous ne disposez pas de données suffisantes pour aboutir à cette
conclusion. Cependant il vous suffit de désactiver complètement
les fonction de prefetching pour constater son utilité...



Dites moi dans mon protocole de test ce qui n'est pas correct, je suis prêt
à le recommencer.
J'ai justement fait 4 fois l'expérience pour éliminer les erreurs de mesures
(je suis un physicien rigoureux) et mode Préfetch activé d'abord (comme
c'était par défaut depuis l'install de XP, donc toutes les entrées
chargées), puis en le désactivant totalement.
La conclusion est quand même contraire à l'attente !

Pour ce qui est des "témoignages" sur le Net,
permettez-moi de ("respectueusement") rigoler. :-D



C'est bien pour cela que j'ai fais moi même les tests

Suffit d'utiliser une défragmentation ciblée lancée par le Planificateur
des tâches avec contig de Mark Russinovich de TechNet Sysinternals
par exemple...


Facile, avec plusieurs centaines de gros fichiers sur un disque, je vais y
passer plus de temps à définir les commandes, que ce que j'en perd en
faisant mes montages vidéo avec un disque fragmenté

Vous devriez postuler un emploi chez Billou


Je n'ai malheureusement plus l'age, je suis à la retraite depuis 3 ans, mais
je veux bien servir de consultant.
Pendant que j'étais encore en activité je ne me suis d'ailleurs pas privé
pour faire remonter mes remarques, mais comme déja dit ...., aucun résultat
chez Microsoft, alors que j'ai eu beaucoup d'écoute chez IBM.

Enfin, je m'amuse bien en testant tous les nouveaux produits ou je
redécouvre, souvent en moins bien, des choses déja vues il y a plusieurs
dizaines d'années ailleurs (par exemple les machines virtuelles).

Bonne soirée.

Olivier
Gump
Le #19040101
| Je voulais simplement faire un constat : les chiffres (sur ma configuration)
| sont parlants :
| le PREFETCH ne sert strictement à rien
|

...et je serais assez d'accord avec ça ! Depuis quelque temps, je supprime
systématiquement à la fermeture de XP les données du prefetch ( avec
CCleaner et CleanCache ). Conclusion : aucune différence visible au
démarrage ( à moins qu'on ne sache mesurer les yoctosecondes ?? )

Gump
Claude LaFrenière
Le #19041871
Bonjour testeur et Gump :-)

C'est vraiment scandaleux que Microsoft soit developpé par de tels
ignorants et que M$ se prive de talentueux savants tels que vous
Messieurs... Le Prefetching: pfft... n'est-ce pas? ;-D

Je vous suggère de contacter MS et, tant qu'à y être, Steve Jobs, Linus
Torvald et Theo de Raadt pour leur montrer comment il faut faire.

FU fr.misc.engueulades

:-P
--
Claude LaFrenière [climenole]
Site: climenole.wordpress.com
FriendFeed: http://friendfeed.com/climenole
Profil & Contact: http://www.google.com/s2/profiles/111152488607912291231?hl=fr&zxÏrw6lacngsd
Gab
Le #19042721
"testeur"
Re bonjour
Vous ne disposez pas de données suffisantes pour aboutir à cette
conclusion. Cependant il vous suffit de désactiver complètement
les fonction de prefetching pour constater son utilité...



Dites moi dans mon protocole de test ce qui n'est pas correct, je suis
prêt à le recommencer.



Je pense que le physicien chevronné que tu es oublies que pour faire une
généralité, il ne suffit pas de tester "une" config ... amha.

Amicalement,

GAB.
Laurent Jumet
Le #19042881
Hello Gump !

"Gump"
| Je voulais simplement faire un constat : les chiffres (sur ma
| configuration) sont parlants : le PREFETCH ne sert strictement à rien



.....et je serais assez d'accord avec ça ! Depuis quelque temps, je supprim
systématiquement à la fermeture de XP les données du prefetch ( avec
CCleaner et CleanCache ). Conclusion : aucune différence visible au
démarrage ( à moins qu'on ne sache mesurer les yoctosecondes ?? )



Le prefetch est très intéressant.
Pour en mesurer l'efficacité, il faut le faire sur des PC plus anciens et moins rapides.

La même discussion pourrait avoir lieu avec le "Staged Write", le cache à délai d'écriture: la technique consiste à ne pas écrire tout de suite sur le DD mais à attendre d'avoir d'avoir un repos dans le programme pour le faire, d'un coup.
Pour apprécier la valeur du système, il faut l'avoir essayé comme moi avec un 8086 et HYPERDISK: on constate alors que le StagedWrite est l'élément le plus important de la performance globale du PC, mais avec les DD et processeurs hyperrapides d'aujourd'hui, les Saint-Thomas trouveront matière à douter.

--
Laurent Jumet - Point de Chat, Liège, BELGIUM
KeyID: 0xCFAF704C
[Restore address to laurent.jumet for e-mail reply.]
testeur
Le #19050151
> Je pense que le physicien chevronné que tu es oublies que pour faire une
généralité, il ne suffit pas de tester "une" config ... amha.



Si vous saviez lire vous auriez pu voir que je n'en ai pas du tout fait une
généralité, je me cite :

Je voulais simplement faire un constat : les chiffres (sur ma
configuration) sont parlants :
le PREFETCH ne sert strictement à rien



Olivier
testeur
Le #19050111
J'ai été Directeur de développement dans un grande société de logiciels, je
connais malheureusement la grande diversité de qualité des développeurs et
même des chefs de projets.
Microsoft n'échappe pas sans doute à la règle.

Olivier
Publicité
Poster une réponse
Anonyme