Devons-nous utiliser le “poste de travail” la collecte des ordures ou “serveur” de collecte des ordures?

J'ai une grande multi-thread application C# en cours d'exécution sur un multi-core 4-serveur. Actuellement, nous sommes à l'aide de "mode serveur" garbage collection. Cependant, les tests ont montré que le poste de travail en mode GC est plus rapide.

MSDN dit:

Code managé les applications qui utilisent l'API du serveur de recevoir des avantages importants de l'utilisation du serveur optimisé garbage collector (GC) au lieu de la valeur par défaut de la station de travail GC.

Poste de travail est la valeur par défaut GC mode et le seul disponible sur les ordinateurs seul processeur. Poste de travail GC est hébergé dans la console et des applications Windows Forms. Il effectue complet (génération 2) les collections simultanément avec le programme en cours d'exécution, ce qui permet de minimiser le temps de latence. Ce mode est utile pour les applications clientes, où la performance perçue est généralement plus important que le débit brut.

Le serveur de catalogue global est disponible uniquement sur les ordinateurs multiprocesseurs. Il crée un autre tas managé et du fil pour chaque processeur et effectue des collections en parallèle. Lors de la collecte, tous les threads gérés sont en pause (threads d'exécution du code natif en pause uniquement lors de l'appel des indigènes de retours). De cette façon, le serveur GC mode optimise le débit (le nombre de requêtes par seconde) et améliore les performances lorsque le nombre de processeurs augmente. La Performance est particulièrement à l'aise sur les ordinateurs avec quatre processeurs ou plus.

Mais nous ne voyons pas les performances de briller!!!! Quiconque a des conseils?

  • DanC. C'est la première fois que j'ai entendu parler de GC modes. Vous pouvez poster tous les liens vers les pages MSDN?
  • Ce genre de performance briller prévoyez-vous? Est-ce votre programme de Windows GUI ou d'un service web?
  • Il y a quelque chose sur MSDN ici aussi: msdn.microsoft.com/en-us/library/bb680014.aspx
  • Ma demande une grande multi-thread application C# en cours d'exécution sur un multi-core 4-serveur. Donc, de ses ni de l'INTERFACE utilisateur, ni d'un service web....!
InformationsquelleAutor | 2009-11-10