-
-
Notifications
You must be signed in to change notification settings - Fork 231
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
Massive performance hit when upgrading from 1.0.8.18 to 1.0.9 #236
Comments
|
@ascott18 |
This was with net471, and all config is default. Thanks for the fix - I won't have a chance to try it out for a while, though. |
@ascott18 When do you have time to validate? |
How did you do that exact profiling? |
I found the issue, the types were not cached anymore. I added the caching again, this should be fixed in MyGet version |
Thanks - that fixed it completely! |
Official version 1.0.9.1 will be released in some time. |
We have a bit of code that, in this example, ends up calling
.OrderBy("SomeProperty ASC, SomeOtherProp DESC")
a total of 262 times, each time on anEnumerableQuery<T>
(that is, LINQ to objects rather than LINQ to sql).With 1.0.8.18, the total CPU time spent in
System.Linq.Dynamic.Core.DynamicQueryableExtensions::OrderBy
was ~58ms. In 1.0.9, the total CPU time for the same code against the same data is ~17691ms:It appears that System.Linq.Dynamic.Core is iterating over every single type currently loaded into the app domain, and pulling the custom attributes from every one of those types? Why is it doing this? Why does it do this on every single call to
OrderBy()
?The text was updated successfully, but these errors were encountered: