-
Notifications
You must be signed in to change notification settings - Fork 635
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
DYN-4230 Callsite ExecWithRISlowPath optimizations to improve Cross Product replication performance #11921
Conversation
In a the specific test graph method execution time dropped from 2.3s to 1.3s and temporary memory allocation dropped by 1 gig. |
@saintentropy Hey, can you merge master and make this PR current when you have a moment? |
@saintentropy Looks good. I have not seen any regressions. I have seen execution times drop up to 50% but I have not seen huge drops in use of temporary memory. But the heap is in much better shape after this changes. |
I will wait with approving/merging these changes until we are done with our releases. |
Tests are passing. I will merge this now. |
Purpose
https://jira.autodesk.com/browse/DYN-4230
This PR is follow up to some previous optimizations within the Callsite class, specifically to the ExecWithZeroRI method related to Cross Product replication. A majority of these changes reduce temporary object allocations and associated GC time. The larger the data set the larger the impact of the optimization. This task covers:
AreParametersHomogeneousTypes
method check as we can more efficiently depend on the FunctionEndPoint count. If the count is equal to 1 then we can directly resolve thefinalFunctionEndPoint
and cache it. The optimization was already in place but based on theAreParametersHomogeneousTypes
which appears to be extraneous.FunctionEndPoint
list variable name to plural for clarityDSArray
directly to access parameters vs copying items to temporary arrays.todo => validate test
Declarations
Check these if you believe they are true
*.resx
filesReviewers
FYIs
@jasonstratton @QilongTang