BT

Slow Startup Time and Entity Materialization Issues Affects Entity Framework 6

by Anand Narayanaswamy on Nov 05, 2013 |

Several developers reported performance issues which affected their projects during the development phase while working with the recently released Entity Framework 6. The first reported issue was about the startup time issue when the debugger is attached to the project which causes when the metadata collections use Lazy<T> in a way that triggers numerous invocations of Debugger.NotifyOfCrossThreadDependency() at model creation time. As of the time of this writing, this problem has been resolved by the product team.

Frans Bouma, Lead developer, LLBLGen Pro reported slow entity materialization in Entity Framework 6.0.1. During benchmarking, Frans ran a .NET profiling using dotTrace which spends 0.02% of its time in the GetEnumerator to fetch the actual data and the rest in the MoveNext over the result.

Few developers also reported startup performance issues without attaching the debugger. For instance, a developer had to wait for about 10-15 seconds soon after pressing F5.

You will automatically get the latest version if you install Entity Framework 6 from NuGet. However, if you make use of Visual Studio 2013 project template with Entity Framework 6 then you have to update to the latest patch by running Update-Package EntityFramework in Package Manager Console.

According to official sources, a new update will be released soon that addresses the performance issues and some other high priority bugs including new issues which are being reported by developers on a daily basis.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Not entirely correct by Frans Bouma

During development process of a project, Frans ran a .NET profiling using dotTrace which spends 0.02% of its time in the GetEnumerator to fetch the actual data and the rest in the MoveNext over the result.


I wasn't developing a project, I was doing benchmark runs on various ORMs to see whether our own framework is still fast enough.

Also:
Microsoft has already released a patch (6.0.1) which addresses the above discussed issues.


This is incorrect, the 6.0.1. patch doesn't address the issues discussed.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

1 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT