News

Entity Framework Core 6.0 Preview 4 Focuses on Performance

The new Entity Framework Core 6.0 Preview 4 is described as a "performance edition," with the dev team turning from years-long concerns -- such as catching up to the old Entity Framework and adding new features -- to focus on speed.

To provide inspiration and a hard-target perf goal, the team used Dapper, a simple, lightweight object mapper for .NET. Specifically, the team used a GitHub issue -- Improve EF Core performance on TechEmpower Fortunes #23611 -- referring to performance benchmarks. It says: "The goal for EF Core 6.0 is to get the EF Core performance to match that of Dapper on the TechEmpower Fortunes benchmark. This is a significant challenge which may not be fully achieved in EF Core 6.0. Nevertheless, we will get as close as we can."

EF Core Comes Via NuGet
[Click on image for larger view.] EF Core Comes Via NuGet (source: Microsoft).

The "short and sweet" result summary:

  • EF Core 6.0 performance is now 70% faster on the industry-standard TechEmpower Fortunes benchmark, compared to 5.0.
  • This is the full-stack perf improvement, including improvements in the benchmark code, the .NET runtime, etc. EF Core 6.0 itself is 31% faster executing queries.
  • Heap allocations have been reduced by 43%.
Performance Summary
[Click on image for larger view.] Performance Summary (source: Microsoft).

Optimizations fully detailed in a May 25 blog post published during the Microsoft Build 2021 developer conference include:

  • Pooling and recycling, DbContext and beyond
  • Logging suppression
  • Opting out of thread-safety checks

Going forward, "EF Core 6.0 will also deliver other types of performance improvements, including various SQL generation improvements and optimized models, which should improve startup times for applications with lots of entities. We also have plans for continued future improvements, especially in areas of EF Core which weren’t covered in this optimization cycle (e.g. the update pipeline, change tracking)."

Developes wanting to dig deeper into the new performance initiatives can consult:

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube