2009-10-19 1 views
2

С веб-сайта на 150 * .dll ASP.NET Это предкомпилированного (обновляемый), каковы возможные причины в "% времени в JIT ', что часто бывает довольно высоким (> 60%) и колеблется после того, как приложение разогрело (все функциональные возможности доступны) и без перезапуска приложений или изменений файлов, которые могут генерировать новые сборки?High, изменяясь «% Время в JIT» на Скомпилированная ASP.NET веб-сайта

Можно было бы ожидать, что код машины, сгенерированный для , все сборок будут повторно использоваться в течение всего срока действия этого домена приложения. Есть ли конечный размер объема машинного кода, который кэшируется? В каких сценариях одна и та же сборка должна быть повторно JIT'd в том же домене приложения? Или это обязательно так, что генерируются новые сборки? Усиливают ли такие факторы, как давление памяти, этот счетчик производительности?

Ссылка:

+0

регулярные выражения генерировать сборки за кулисами, если они постоянно воссоздается, что может быть фактором, способствующим ... –

ответ

1

Это может быть все, что делает монтаж испускают. Компиляция Linq Expressions или регулярные выражения, которые не кэшируются правильно.

+0

Действительно. Вы должны быть/действительно/осторожны с регулярными выражениями: иногда они могут протекать. См. Http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=692 примеры того, как предварительно компилировать и кэшировать их. –