2009-10-19 5 views
2

Avec 150 * .dll site ASP.NET qui est précompilé (actualisable), quelles sont les causes possibles pour un «temps % dans JIT 'qui est souvent assez élevé (> 60%) et fluctuant longtemps après le réchauffement de l'application (toutes les fonctionnalités accessibles) et sans redémarrages de l'application ou des modifications de fichiers qui pourraient générer de nouveaux assemblées?haut, « Temps% dans JIT » fluctuants sur site précompilés ASP.NET

On s'attendrait à ce que le code machine généré pour tous les assemblages soit réutilisé pour la durée de ce domaine d'application. Y a-t-il une taille finie au volume de code machine qui est mis en cache? Dans quels scénarios le même assemblage doit-il être réajusté dans le même domaine d'application? Ou est-ce nécessairement le cas que de nouveaux assemblages sont générés? Des facteurs tels que la pression de la mémoire ont-ils un impact sur ce compteur de performance?

Référence:

+0

expressions régulières génèrent des assemblées dans les coulisses, si celles-ci sont constamment recréés qui pourrait être un facteur ... –

Répondre

1

Il pourrait être quelque chose qui n'émette assemblée. Linq Expressions compile, ou des expressions régulières, qui ne sont pas mises en cache correctement.

+0

En effet. Vous devez être/vraiment/prudent avec les expressions régulières: parfois ils peuvent fuir. Consultez http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=692 pour obtenir des exemples de précompilation et de mise en cache. –

Questions connexes