2008-08-22 10 views
1

Ceci est principalement destiné aux développeurs d'applications de bureau.
Comment concevoir un bloc de mise en cache qui fonctionne bien avec le GC?
Comment puis-je dire au GC que je viens de faire un balayage de cache et qu'il est temps de faire un GC?
Comment obtenir une mesure précise du moment où il est temps de faire un balayage de cache?Schémas de mise en cache pour les langages gérés

Y at-il des systèmes de mise en cache préconçus que je pouvais emprunter quelques idées?

Répondre

1

Bien que je ne puisse évidemment pas parler des spécificités de votre application, dans la plupart des cas, vous ne devriez pas lier votre implémentation de mise en cache à une attente perçue du fonctionnement du GC. Comme le mentionne Stu, appeler GC.Collect() forcera une collection (avec des surcharges pour une génération spécifique) mais le plus souvent, cela entraînera des performances moins bonnes que de simplement laisser le GC se gérer lui-même. Si vous constatez (après avoir effectué des tests de performance réels) que vous devez interagir avec le CPG, assurez-vous de prendre en compte les différents types de CPG actuellement disponibles (voir here pour plus d'informations).