Linq To Sql vs实体框架性能

entity-framework linq-to-sql performance stored-procedures

我一直在寻找比较L2S和EF的最新性能基准测试,并且无法使用EF的发布版本找到任何经过测试的调用存储过程。所以,我运行了一些自己的测试,发现了一些有趣的结果。

这些结果看起来是否合适?我应该以不同的方式进行测试吗?

上下文的一个实例,一个sproc的调用:(死链接)

上下文的一个实例,同一个sproc的多次调用:(死链接)

上下文的多个实例,同一个sproc的多次调用:(死链接)

一般承认的答案

我认为你应该以一种不同的方式测试它,以便区分启动成本和执行成本 。特别是实体框架由于需要编译数据库视图而具有大量的启动成本 (尽管您可以提前执行此操作)。同样,LINQ有一个编译查询的概念,如果多次执行查询 ,这将是合适的。

对于许多应用程序,查询执行成本将比启动成本更重要。对某些人来说,情况恰恰相反。由于这些的性能特征不同,我认为区分它们很重要。特别是,将启动成本平均化为重复执行的查询的平均成本是误导性的。


热门答案

这看起来是LINQ to SQL和Entity Framework之间性能的一个很好的衡量标准。

http://toomanylayers.blogspot.com/2009/01/entity-framework-and-linq-to-sql.html



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因