Есть ли данные о производительности запуска NHibernate против Fluent NHibernate? - PullRequest
3 голосов
/ 26 октября 2009

Короче, что работает быстрее:

  • SessionFactory прекомпилирует XML конфигурация или
  • Свободное предоставление NHibernate конфигурация программно?

Ответы [ 2 ]

8 голосов
/ 25 ноября 2009

Мой личный опыт показывает, что создание объекта конфигурации (что неизбежно * независимо от того, используется ли Fluent) обычно сокращает время, необходимое для установки объекта FluentConfiguration, с увеличением коэффициента по мере увеличения числа отображений.

На 2,5 ГГц c2d, с моим проектом с приблизительно 15 отображениями, потребовалось 360 мс для FluentConfiguration и 5215 мс для конфигурации.

В тестовом проекте с 1000 отображений (простые классы с 2-3 строковыми свойствами) потребовалось 470 мс для FluentConfiguration и 40336 (40 секунд!) Для конфигурации.

* На самом деле, не совсем. Большая часть затрат на Конфигурацию обусловлена ​​проверкой сопоставлений XML. Айенде обсудил это здесь (а также быстрое ускорение, полученное при объединении сопоставлений в один файл), и возможной альтернативой построению конфигурации при запуске приложения является ее сериализация, как обсуждалось здесь . В тестовом проекте с 1000 отображениями это сократило время, необходимое для получения объекта конфигурации, примерно до 30 мс (хотя также увеличило время, необходимое для сборки SessionFactory, с ~ 3 до ~ 4 секунд - я не уверен, почему).

3 голосов
/ 26 октября 2009

Fluent NHIbernate создает документы XML и Sessionfactory под капотом, поэтому он медленнее, чем не используя Fluent NHibernate.

Почему ты спрашиваешь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...