aspnet/EntityFramework — pull request #1329 by rowanmiller (2014-12-26 22:16:10+00:00)
Title: ChangeTracker perf tests (with EF6 comparison)

Changes:
* Removing previous 'StateManagerPerf' and 'DbContextPerf' tests that were ported from EF6 test suite
* Replacing with 'ChangeTracker' tests that better represent recommended coding patterns (new tests cover the same general patterns that were covered by previous tests)
* There is one test that is removed that doesn't have a similar scenario in the new tests (DbContext_query_on_existing_context_with_threads). Discussed with @divega and @anpete and agreed this isn't a scenario we should be super concerned about. Multi-threading on the same context should really only happen in async scenarios and we should have some tests that make use of async instead.
* Adding EF6 equivalent of the new tests (for comparison)

BTW in a following change I plan to add some ChangeTracker coverage for Add/Attach/Remove/Update that does not include relationship fixup. I'll also move those API calls outside of collection in the UpdatePipeline tests so that they are just measuring `SaveChanges`.

---

Here are some rough results from my laptop.

Test | EF6 | EF7
------------ | ------------- | -------------
AddChildren | 23570 ms | 1365 ms
AddParents | N/A* | 6361 ms
AttachChildren | 13764 ms | 1234 ms
AttachParents | 11924 ms | 5591 ms
QueryChildren | 45 ms | 1254 ms
QueryParents | 58 ms | 6117 ms

*EF6 does not fixup to added parents during DbSet.Add (it is delayed until SaveChanges)