2009-05-18 4 views
2

J'ai maintenant économisé un peu d'argent pour la mise à niveau matérielle. Qu'est-ce que je voudrais savoir, quel est le moyen le plus facile à mesure quelle partie du matériel est le goulot d'étranglement pour la compilation et devrait être mis à jour?Le moyen le plus facile de déterminer le goulot d'étranglement matériel de performance de compilation sur un seul PC?

Y a-t-il des techniques intelligentes que je pourrais utiliser? J'ai regardé dans perfmon, mais il a trop de compteurs et n'est pas très utile sans connaissance exacte ce qui devrait être regardé.

Conditions: développement Home, Windows XP Pro, Visual Studio 2008

Merci!

+0

Quel compilateur utilisez-vous? – BobbyShaftoe

+0

J'utilise le compilateur C++ fourni avec VS 2008 (15.00), mais ma question est plutôt indépendante de la langue, à propos de l'utilisation d'outils de mesure de la performance. –

Répondre

5

La question est vraiment "qu'est-ce qui est maximal lors de la compilation?"

Si vous ne souhaitez pas utiliser Perfmon, vous pouvez utiliser quelque chose comme le moniteur de tâches.

  1. Exécutez une compilation.

  2. Voir ce qui est arrivé au maximum.

Êtes-vous allé à 100% CPU pendant tout le temps? Obtenez plus de CPU - plus rapide ou plus de cœurs ou quelque chose.

Avez-vous utilisé 100% de la mémoire pendant tout ce temps? Quel numéro est important sur l'écran? Le seul souvenir que vous pouvez acheter est la mémoire "physique". Le seul facteur important est la mémoire physique. Les autres choses que vous voyez sur le compteur ne sont pas des choses que vous achetez, ce sont des ajustements à apporter au fonctionnement de Windows.

Avez-vous utilisé d'énormes quantités d'E/S? Vous ne pouvez pas facilement dire ce qui est "énorme", mais vous pouvez conclure ceci. Si vous n'utilisez pas de mémoire et n'utilisez pas de CPU, vous utilisez la seule ressource qui reste: vous êtes connecté aux E/S et vous avez besoin d'un bus plus rapide, ce qui signifie généralement une toute nouvelle machine.

Un disque dur plus rapide a peu ou pas de valeur - la vitesse d'horloge du bus est un facteur limitant. La largeur du bus est l'autre facteur limitant. Personne ne conçoit un bus d'E/S ass-kicking, puis le sellera avec des disques durs. Habituellement, ils conçoivent le bus qui correspond à une cible de coût spécifique basée sur les disques durs disponibles.

+0

Oui, mais j'ai du mal à déterminer ce qui est "maxed out". Seulement pour la mémoire il y a par exemple. Mémoire physique, mémoire du noyau, mémoire partagée, charge d'engagement, etc. C'est exactement ma question: quels paramètres sont révélateurs à cet égard. –

+0

@Alex Jenter: Vous ne pouvez acheter que de la mémoire physique, donc le seul numéro qui compte est la mémoire physique. Les autres numéros sont des paramètres de réglage, pas des paramètres d'achat de matériel. –

+0

Ok avec la mémoire et le processeur, c'est clair, mais comment déterminer réellement si le montant d'E/S est énorme? Et pourquoi c'est toujours un bus plus rapide mais jamais un disque dur plus rapide? –

1

Utilisation de l'écran de la tâche a déjà été suggéré, mais le contrôle des tâches Sys Internes vous donne plus d'informations que la tâche de Windows intégré dans le moniteur:

Sys Internals task monitor

Vous pouvez également voir ce que d'autres choses sont fonctionnant sur votre PC qui utilisent la mémoire et/ou la puissance de traitement du processeur. Il peut être possible de supprimer ou d'exécuter uniquement à la demande des éléments qui affectent les performances.

Windows XP ne prend en charge que 3 Go de mémoire à l'aide d'un commutateur que vous devez allumer et Il me semble me rappeler que les applications doivent être écrites pour en tenir compte.

3

Un disque dur plus rapide a peu ou pas de valeur - la vitesse d'horloge du bus est un facteur limitant. La largeur du bus est l'autre facteur limitant. Personne ne conçoit un bus d'E/S ass-kicking, puis le sellera avec des disques durs. Habituellement, ils conçoivent le bus qui correspond à une cible de coût spécifique basée sur les disques durs disponibles.

Garbage. Les disques durs modernes sont lents par rapport aux bus d'E/S auxquels ils sont connectés. Nommez un seul disque dur capable de maximiser une interface SATA 2 (et même une génération maintenant) pour des IOPS aléatoires ... Un disque dur a de la chance d'atteindre 10 Mo/s lorsque le bus est capable d'environ 280 Mo/s. E.g. http://www.anandtech.com/show/2948/3. Même là, les SSD ne font que 50 Mo/s. Il est clair que les IOP ne sont pas le goulot d'étranglement, sinon le disque dur ferait autant que les SSD.

Je n'ai jamais vu un IOP d'ordinateur lié plutôt que lié au disque dur. Cela n'arrive pas.

Questions connexes