• 53702
  • 29
  • 13
Нравится блог?
Подписывайтесь!

.NET Framework, System.Xml, MSXML и "чудеса производительности"

Например, мы используем XSLT-трансформацию, как шаблонизатор в веб-приложении ASP.NET.

Первое что приходит в голову — это пространство имен System.Xml и System.Xml.Xsl, которые предоставляют универсальные классы для работы с XML и XSLT.

А теперь второе. Что не сразу приходит в голову.

Это подключение ActiveX-компонента MSXML (6.0). Который тоже предоставляет универсальные классы для работы с XML и XSLT. Собственно, сам файл библиотеки компонента (msxml6.dll) копируется в каталог с веб-приложением, а затем на него создается ссылка и уже с компонентом можно спокойно работать из веб-приложения.

В чем нелогичность второго способа? В том, что подключение ActiveX-компонента и работа с ним, значительно снижает производительность? В самом деле, ведь это неуправляемый код, обертка функций, преобразование неуправляемых типов в управляемые типы .NET (маршалинг) и т.п.

На самом деле, всё совершенно наоборот.

Второй способ оказывается производительнее первого. То есть, подключение неуправляемого кода из библиотеки MSXML для XSLT-трансформации намного производительнее, чем использование управляемого кода из пространства имен System.Xml библиотеки .NET.

Время XSLT-трансформации в веб-приложении ASP.NET:

System.Xml (.NET) — Time taken: 0,0228 sec (44) req/sec

MSXML (MSXML 6.0) — Time taken: 0,0025 sec (396) req/sec

m-r Tarakanoff tarakanoffth
The best C# and .NET days are ahead of us. (25 Mar 2010 by Miguel de Icaza)
2 августа 2011, 15:35
723

Загрузка...
Loading...

Комментарии

К сожалению, MSXML не поддерживает XSLT версии 2.0. Майкрософт, в этом случае, рекомендует использовать System.Xml.

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

«Это будут твои большие похороны». Гуф высказался о Скриптоните и Басте

«Это будут твои большие похороны». Гуф высказался о Скриптоните и Басте

Досталось и Скриптониту, который ранее опубликовал запись, о том, что больше не будет сниматься в клипе Гуфа и Тимати. "Я тебя ни о чем больше не попрошу, казах ты мой дорогой" - высказался рэпер.
tala03
21 сент. 2017 / 15:48
  • 3222
  • 10
Юрист, пришедший в школу учителем по зову души, о главной проблеме системы образования

Юрист, пришедший в школу учителем по зову души, о главной проблеме системы образования

Алматинский учитель поставил диагноз системе, частью которой является образование. Будучи успешным юристом, имевший степень МВА, он вдруг развернул траекторию своей карьеры, став обычным школьным...
Zhumanova
вчера / 16:26
  • 2596
  • 5
Почему депутат Божко хочет ограничить приток сельской молодёжи в города?

Почему депутат Божко хочет ограничить приток сельской молодёжи в города?

Вице-спикер Мажилиса Владимир Божко остановился на некоторых деталях известного конфликта в Астане возле строящегося «Абу Даби Плаза», затронув проблему «многочисленной сельской молодёжи»...
openqazaqstan
19 сент. 2017 / 13:16
  • 2566
  • 64
«Моя депрессия длилась больше двух лет». История о том, как я была готова сдаться

«Моя депрессия длилась больше двух лет». История о том, как я была готова сдаться

По данным статистики 2017 года Казахстан занимает 4 место по самоубийствам. Говорить об этом - социальное табу. Мы игнорируем разговоры о депрессиях. Потому что нам страшно.
goribaldi
18 сент. 2017 / 15:45
  • 2496
  • 83
«Папина принцесса» или «обезьяна с гранатой»? Случай в бассейне

«Папина принцесса» или «обезьяна с гранатой»? Случай в бассейне

Мужчины спокойно подчиняются логичным правилам, большинство женщин пытаются выторговать себе особые условия. Я убеждалась в этом много раз.
ValentinaVladimirska
18 сент. 2017 / 14:25
  • 2017
  • 35
Лайфхаки для путешественников. Как я не заплатила ни цента за проживание в Испании

Лайфхаки для путешественников. Как я не заплатила ни цента за проживание в Испании

Бесплатное проживание и завтрак в Испании, как прокачать иностранный язык и где поймать бесплатные ништяки в Европе. Если вы backpacker, который пересекает границу разных стран каждую неделю -...
dianaobyrne
18 сент. 2017 / 12:16
  • 2532
  • 1
Бой Головкина и Альвареса завершился ничьей

Бой Головкина и Альвареса завершился ничьей

Канело согласен на реванш, что неудивительно, Гена тоже "за". Все это было немного ожидаемо - эксперты отмечали, что промоутеры надавят на поединок, и захотят растянуть его на трилогию.
Trequartista
17 сент. 2017 / 0:15
  • 2335
  • 17
Мой опыт вегетарианства: «Я ела овощи, и сама стала как овощ»

Мой опыт вегетарианства: «Я ела овощи, и сама стала как овощ»

Три года назад начитавшись-наслушавшись кое-каких знаменитых людей, я решила завязать  с абсолютно любым мясом. Как же возмущались все мои близкие, это надо было видеть, но я была непреклонна.
Bonittta
18 сент. 2017 / 14:33
  • 1895
  • 31
Путешественник был шокирован полицейским беспределом в Казахстане

Путешественник был шокирован полицейским беспределом в Казахстане

Полицейский беспредел в Казахстане осудил российский блогер и путешественник Евгений Золотухин. На своей странице он рассказал, как встретился с казахстанскими полицейскими, и как они оставили не...
tala03
18 сент. 2017 / 16:58
  • 1643
  • 13