代码之家  ›  专栏  ›  技术社区  ›  masoud ramezani

哪一个可以有更好的性能-linq到ef或nhibernate?

  •  4
  • masoud ramezani  · 技术社区  · 14 年前

    我想开始做一个大项目。我研究了linq到ef和nhibernate的性能问题。我想在我的项目中使用其中一个作为orm。现在我的问题是这两个orm中的哪一个可以让我在项目中获得更好的性能?我将使用sql server 2008作为数据库,使用c作为编程语言。

    3 回复  |  直到 14 年前
        1
  •  4
  •   Craig Stuntz    14 年前

    两者都不会有“更好的表现”。

    在分析性能时,需要考虑限制因素。在这种情况下,限制因素不是您选择的orm,而是如何使用该工具、如何编写查询以及如何优化数据库后端。

    因此,“最快”的orm将是您可以正确使用的orm,再加上您最了解的数据库服务器。

    orm本身确实有一定的开销,所以就纯粹的性能而言,“最快”的方法是完全不用。然而,这有利于计算机的时间超过你的开发时间,这通常不是一个好的权衡。orms可以节省大量的开发时间,而在正确使用时只会带来少量的开销。

    通常,当人们在使用orm时遇到性能问题,是因为他们错误地使用了orm,而不是因为他们选择了“错误”的orm。

        2
  •  3
  •   user302845    14 年前

    我们目前正在我们的一个项目中使用fluenthibernate(使用web服务,这样会增加额外的时间延迟),据我所见,数据访问几乎是即时的(从人类的角度)。

    也许有人可以提供具体数字的答案。

    因为这两个orm有些不同,所以最好根据您的具体需求来决定使用哪一个orm,而不是性能(正如我所说,这应该不是什么大事)。

        3
  •  1
  •   Darin Dimitrov    14 年前

    这是一个不错的 benchmark . 正如你所看到的,结果取决于你是否 SELECT , UPDATE , DELETE .