ppanyukov/EntityFrameworkBenchmarks

Discussion: Where we are at with perf in EF7

Opened this issue · 6 comments

Hey,

Feel free to close this one out, I just wanted to follow up with some comments on our approach to performance in EF7. Below are some thoughts from a discussion in our repo around perf.

We have benchmarks for the basic scenarios in EF7 and we have some scenarios that are greatly improved over EF6 and others that are still quite slow. We have these on a list to address but we haven't optimized the code paths yet because the code paths are still changing quite rapidly. If we'd optimized things before now then we'd likely have wasted a lot of time as things have changed so much and we'd end up hitting different bottlenecks.

The code base is starting to churn less now, so we are starting to look at these. We still have plenty of time to get things tidied up before we need to RTM. ASP.NET 5 is the main driving force behind the dates for our initial RTM of EF7 and they have announced that they will still be pre-release when Visual Studio 2015 reaches RTM (so EF7 still has a while before it reaches RTM). I can't comment on specific dates since they are up to the Visual Studio and ASP.NET 5 teams to make public.

BTW we are also working on some things now that will eventually end up with the results of our automated performance runs being public.

~Rowan

Great to hear people want to make EF better, there is a great promise for EF7. Partly the reason for my benchmarks. I understand it's all beta and not quite RTM.

I will keep re-running benchmarks as things evolve and time allows (busy busy here on lots of things :))

Sounds good. BTW if you are interested we are also working on a benchmark suite within our own code base https://github.com/aspnet/EntityFramework/tree/dev/test/EntityFramework7.Microbenchmarks.

@rowanmiller: so I did some reruns with different versions:

  • Beta-5: no observable difference compared to Beta-4;
  • Beta-7: fractional improvements, but those are likely due to CLR/Asp.Net/Mvc improvements. Non-EF benchmarks improved much better.

I've updated the post with figures: http://ppanyukov.github.io/2015/05/20/entity-framework-7-performance.html

Is there any improvement on 1.0 or 1.0.1 version?

@xcoderteam I haven't run anything recent on this. In fact, I haven't touched .NET or Windows since this :)

I can hope the things improved with the RTM release, @rowanmiller is that so?

If there is interest, I may update these benchmarks to newer versions, let me know if that's the case.

We did make a lot of improvements in the RC2 and RTM releases. In general, most things in EF Core are significantly faster than EF6. There are still some scenarios where that is not the case. If you decide to update these benchmarks then please let us know if they show anything that is slow.