<p>La partie « vérification des mises à jour » est si lente parce que :</p>
<ul>
<li></li>
</ul>
<p>Windows 7 utilise le <a href="https://web.archive.org/web/20130527043402/http://technet.microsoft.com/en-us/library/cc756291(v=ws.10).aspx">Component-Based Servicing</a>, ce qui signifie que Windows Update doit travailler énormément pour déterminer les dépendances et interdépendances des fichiers et composants, maintenir des versions côte à côte des anciens fichiers/composants, tout en permettant la désinstallation de mises à jour/composants individuels sans casser d’autres mises à jour/composants, tout en tenant compte de la supersédence et d’autres facteurs. Le code qui fait tout cela doit être d’une complexité infernale.</p>
<ul>
<li></li>
</ul>
<p>Windows 7 64 bits doit maintenir les versions 32 bits et 64 bits de chaque mise à jour.</p>
<ul>
<li></li>
</ul>
<p>Windows doit maintenir les versions <a href="https://web.archive.org/web/20141218171018/http://blogs.technet.com/b/mrsnrub/archive/2009/05/14/gdr-qfe-ldr-wth.aspx">GDR et LDR</a> de chaque mise à jour, ce qui signifie que sous Windows 7 64 bits, vous obtenez GDR 32 bits, LDR 32 bits, GDR 64 bits, LDR 64 bits pour chaque mise à jour.</p>
<ul>
<li></li>
</ul>
<p>Le code derrière Windows Update est très inefficace, probablement en raison de sa complexité conceptuelle. Mes observations au cours des dernières années montrent que, à mesure que le nombre total de mises à jour publiées a augmenté, le temps de vérification des mises à jour a augmenté de manière presque exponentielle. Pour moi, cela indique l’utilisation d’algorithmes récursifs, peut-être pour déterminer la supersédence ou résoudre les dépendances.</p>
<p>Malheureusement pour nous, Microsoft n’aime pas parler des mécanismes internes de Windows, nous finissons donc par devoir comprendre par nous-mêmes ou spéculer.</p>