C# 环境足迹5基准
我正在遵循那个整洁社区创建的原则 目前,在运行测试10000次后,我得到以下结果:C# 环境足迹5基准,c#,entity-framework,ado.net,ibatis,dapper,C#,Entity Framework,Ado.net,Ibatis,Dapper,我正在遵循那个整洁社区创建的原则 目前,在运行测试10000次后,我得到以下结果: EF 5=21595毫秒 ADO.NET=52183毫秒 短小精悍=52499毫秒 iBatis=83138毫秒 我需要一些东西来帮助我理解为什么EF更快。 我做错了什么? 我正在使用的代码已打开 谢谢 首先,EF确实加快了速度:他们投入了大量时间来提高性能-根据我的大多数衡量标准,它仍然有明显的开销。请考虑:EF位于ADO.NET之上。如果EF报告的结果比ADO.NET快得多,那么(我想你已经怀疑了):你没
- EF 5=21595毫秒
- ADO.NET=52183毫秒
- 短小精悍=52499毫秒
- iBatis=83138毫秒
谢谢 首先,EF确实加快了速度:他们投入了大量时间来提高性能-根据我的大多数衡量标准,它仍然有明显的开销。请考虑:EF位于ADO.NET之上。如果EF报告的结果比ADO.NET快得多,那么(我想你已经怀疑了):你没有测量你认为你在测量的东西 我怀疑这里的关键问题是您正在同一数据上下文上执行所有操作。这意味着您现在可能只是在强调标识管理器和缓存。我不能直接运行您的代码(因为它使用Oracle等),但查看实际执行的查询会很有趣。在实际使用中,每个数据上下文都有一个有限的工作生命周期单位。在同一个数据上下文上执行10000个操作是非常罕见的。更典型的是一些操作 然而,不相关的:我必须说:我很高兴您的结果显示dapper的性能在原始ADO.NET性能的0.6%以内。这基本上正是我们使用dapper的目的:原始ADO.NET的完整性能,但只是消除了编码的痛苦