是否有关于NHibernate vs Fluent NHibernate启动性能的数据?

时间:2009-10-26 15:55:15

标签: nhibernate fluent-nhibernate

简而言之,更快的是:

  • SessionFactory预编译XML 配置,或
  • 流利的NHibernate提供 以编程方式配置?

2 个答案:

答案 0 :(得分:8)

我个人的经验是构建配置对象(无论是否使用Fluent都是不可避免的)通常会使设置FluentConfiguration对象所需的时间相形见绌,因为​​映射数量会增加因子。 / p>

在2.5 Ghz c2d上,我的项目大约有15个映射,FluentConfiguration需要360ms,配置需要5215ms。

在具有1000个映射的测试项目(具有2-3个字符串属性的简单类)上,FluentConfiguration需要470ms,配置需要40336(40秒!)。

*其实不是真的。 Configuration的大部分成本来自验证XML映射。 Ayende讨论了它here(以及通过将映射合​​并到单个文件中获得的快速加速),并且在应用程序启动时构建配置的可能替代方法是按照here所述对其进行序列化。在1000映射测试项目中,这将将配置对象所需的时间减少到大约30ms(尽管它还将构建SessionFactory所需的时间从大约3秒增加到大约4秒 - 我不确定为什么)。

答案 1 :(得分:3)

Fluent NHIbernate创建了XML文档和Sessionfactory,因此它比不使用Fluent NHibernate慢。

为什么问?