Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance Guidance #212

Closed
10 tasks
natemcmaster opened this issue Jul 1, 2016 · 8 comments · Fixed by #2934
Closed
10 tasks

Performance Guidance #212

natemcmaster opened this issue Jul 1, 2016 · 8 comments · Fixed by #2934
Assignees
Milestone

Comments

@natemcmaster
Copy link
Contributor

natemcmaster commented Jul 1, 2016

Some things already mentioned in various docs. Would be nice to have one doc dedicated to all the perf tips.

Some ideas:

  • Streaming vs buffering (IEnumerable/IAsyncEnumerable vs. ToList/ToListAsync). Possibly refer from https://docs.microsoft.com/en-us/ef/core/querying/how-query-works#when-queries-are-executed.
  • Split/single queries
  • Perf counters
  • Tracking vs no-tracking (per query, per type, etc.)
  • DbContext pooling
  • Compiled queries
  • FromSql for complex queries
  • INotifyPropertyChanged
  • Key generation: sequence vs identity
  • Batching (configuring sizes, networking conditions, etc)
@bartlannoeye
Copy link
Contributor

Any progress on this? In particular looking for SQLite+UWP perf tips.

@rowanmiller rowanmiller changed the title Document usage patterns for improved perf Performance Guidance Feb 1, 2017
@rowanmiller
Copy link
Contributor

@bartlannoeye the perf issues in UWP/SQLite are bugs that we're working with the .NET Native team to address. Unfortunately there isn't really any way to work around them.

@rowanmiller
Copy link
Contributor

Putting this on the backlog. A lot of the perf guidance from EF6 doesn't really apply to EF Core and I'm not sure how much we need to document here. I think it probably makes sense to wait a bit longer and see what kind of things aren't obvious to most folks, and then document these.

@Rick-Anderson
Copy link
Contributor

@divega a Short perf doc would be beneficial and would surely grow as customers contributed their perf findings. dotnet/AspNetCore.Docs#964 has a short EF perf section. It would be better to move that section to this repo and the ASP.NET Core perf doc could point to it.

@divega
Copy link
Contributor

divega commented Nov 22, 2018

@Rick-Anderson The short EF section I read in the PR seems like a good start of a page on the EF Core side. I posted some comment that hopefully can make it better.

There a few things remaining here that of course also have value, although at this point I think I would leave the "Key generation: sequence vs identity" part out.

@roji
Copy link
Member

roji commented Aug 14, 2020

@Rick-Anderson
Copy link
Contributor

Consult https://docs.microsoft.com/en-us/ef/ef6/fundamentals/performance/perf-whitepaper

But isn't Rowan correct

A lot of the perf guidance from EF6 doesn't really apply to EF Core

@roji
Copy link
Member

roji commented Sep 17, 2020

@Rick-Anderson yeah, this should be reviewed case-by-case, lots of things are relevant, some probably aren't... This is one of the major docs tasks on my plate.

roji added a commit to roji/EntityFramework.Docs that referenced this issue Dec 7, 2020
Closes dotnet#212
Closes dotnet#2608
roji added a commit that referenced this issue Dec 9, 2020
roji added a commit that referenced this issue Dec 9, 2020
roji added a commit that referenced this issue Dec 9, 2020
roji added a commit that referenced this issue Dec 9, 2020
roji added a commit that referenced this issue Dec 9, 2020
roji added a commit that referenced this issue Dec 14, 2020
roji added a commit that referenced this issue Dec 17, 2020
Closes #212
Closes #2608
Closes #2902
roji added a commit that referenced this issue Dec 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants