Мне нравится использовать партиалы в моих представлениях Razor.Это делает код красивым и чистым.Но есть ли какие-либо существенные затраты производительности при использовании партиалов?Я создал простой тест.Это показывает, что использование партиалов медленнее .
test.cshtml:
@{
var stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
for(var i=0; i<1000; i++) {
var str = "my string #" + i;
@Html.Partial("_MyPartial",str) // replace with @str on second test
<br />
}
stopwatch.Stop();
<br />
@: Time elapsed (ms): @(stopwatch.ElapsedMilliseconds)
}
_MyPartial.cshtml:
@Model
Код счастичное выполнение за 340 мс, в то время как встроенный код @str показывал 0 или 1 мс.Это действительно шокирует меня, потому что это означает, что я должен избавиться от всех моих милых пристрастий, по крайней мере, от петель.
Если кто-то захочет подтвердить или критиковать мой эксперимент, добро пожаловать.