测试 ORM 性能时使用哪种查询语言?
Which Query language to use when testing ORM performance?
我想比较最流行的 .NET ORM(EF、NHibernate、Telerik Data Access、XPO、LLBGenPro)的性能,为此,我将 运行 多次测试并测量平均执行时间.
我有一个抽象 class 定义了将为每个 ORM 覆盖和实现的测试方法,problem/confusion 是:对于每个 ORM 都有很多查询方式(例如 NHibernate有API Criteria, Query Over, HQL, Native Sql), 那么进行无偏见比较的最方便的方法是什么,我的意思是我应该为每个 ORM 选择哪种查询语言,并根据我的意愿选择它(受欢迎程度、易用性..)?
提前致谢:)
网上有一些用于.Net 的ORM 工具的基准测试。
我建议您对每个项目使用相同的查询提供程序。例如,LINQ
是 .Net 上的默认值,因此,许多 ORM 工具都提供对 LINQ
的支持。
有了这个,您就可以拥有一个将 IQueryable<T>
作为参数的方法,并针对基准测试的每个项目对其进行测试。
我想比较最流行的 .NET ORM(EF、NHibernate、Telerik Data Access、XPO、LLBGenPro)的性能,为此,我将 运行 多次测试并测量平均执行时间.
我有一个抽象 class 定义了将为每个 ORM 覆盖和实现的测试方法,problem/confusion 是:对于每个 ORM 都有很多查询方式(例如 NHibernate有API Criteria, Query Over, HQL, Native Sql), 那么进行无偏见比较的最方便的方法是什么,我的意思是我应该为每个 ORM 选择哪种查询语言,并根据我的意愿选择它(受欢迎程度、易用性..)?
提前致谢:)
网上有一些用于.Net 的ORM 工具的基准测试。
我建议您对每个项目使用相同的查询提供程序。例如,LINQ
是 .Net 上的默认值,因此,许多 ORM 工具都提供对 LINQ
的支持。
有了这个,您就可以拥有一个将 IQueryable<T>
作为参数的方法,并针对基准测试的每个项目对其进行测试。