12

J'essaie d'accélérer le temps nécessaire pour compiler mon application et une chose que j'étudie est de vérifier quelles ressources, le cas échéant, je peux ajouter à la machine de construction pour accélérer les choses. À cette fin, comment puis-je savoir si je devrais investir dans plus de CPU, plus de RAM, un meilleur disque dur ou si le processus est lié par une autre ressource? J'ai déjà vu cela (How to check if app is cpu-bound or memory-bound?) et je suis à la recherche de plus de conseils et de pointeurs.Comment déterminer si mon processus est lié à l'UC, lié aux E/S, lié à la mémoire ou

Ce que j'ai essayé jusqu'à présent:

  • temps le processus sur la machine de construction par rapport sur ma machine locale. J'ai trouvé que la machine de construction prenait deux fois plus de temps que ma machine. Exécutez "Moniteur de ressources" et observez l'utilisation du processeur, l'utilisation de la mémoire et l'utilisation du disque pendant le processus. En même temps, j'ai du mal à interpréter les chiffres, principalement parce que je ne comprends pas chaque colonne. et comment cela se traduit par une machine virtuelle par rapport à une boîte physique et ce que cela signifie avec des boîtes multi-CPU.

+0

Il est difficile de dire à partir de votre question: la machine de construction est-elle une machine virtuelle? L'optimisation des performances pour une machine virtuelle peut être totalement différente de celle d'une machine physique. –

+0

Oui, l'ordinateur de génération est une machine virtuelle. – Rohith

Répondre

2

Démarrer> Exécuter> perfmon.exe

Analyseur de performances peut représenter graphiquement de nombreux paramètres du système que vous pouvez utiliser pour en déduire les goulots d'étranglement incluent la charge cpu, opérations io, hits pagefile et ainsi de suite.

En outre, le Kit de développement Platform SDK inclut désormais un outil appelé XPerf qui peut fournir des informations plus pertinentes pour les développeurs.

0

Random-pausing vous indiquera quel est le pourcentage de votre temps de processeur et d'E/S. Fondamentalement, si vous prenez 10 stackshots aléatoires, et si 80% (par exemple) du temps est en E/S, alors sur 8 +/- 1.3 échantillons la pile atteindra la routine du système qui lit ou écrit un tampon. Si vous voulez une plus grande précision, prenez plus d'échantillons.