-
Notifications
You must be signed in to change notification settings - Fork 636
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
DYN1805 Validate the performance tracking system by using validated improvements Part II #9665
Conversation
Can you explain a little bit more or point to the actual caller to help understand? |
LGTM @reddyashish Is there anything we are still waiting in this PR? |
No Aaron, this is good to go. Merging it. |
…mprovements Part II (#9665) * Move Engine TraceUtils methods to DynamoServices with ThreadStatic backing * Convert GetTrace and SetTrace to user ThreadStatic mechanism * Remove Engine TraceUtils * Clean up tests to remove thread local storage reference * Clean up callsite Trace workflow * Remove expression body syntax * Remove inline out declaration * Obseleting the class instead of removing it * Sort usings. * Removing the TODO comment that is not valid anymore
Very impressive performance uplift! @aparajit-pratap I'm no longer up to date with the VM but is this improvement attributed to fixing a fundamental issue in the callsites or an iterative process? |
@junmendoza glad to know you are still tracking progress of Dynamo :) |
@aparajit-pratap, @saintentropy Interesting! and thanks for the background. Btw did this arise due to performance profiling? Curious how much effort is still put in making the VM faster at this stage :) |
@saintentropy has been slowly chipping away at the VM trying to make performance improvements and he has made some along the way. We have more ongoing work in this area. One of the things I was looking at is at optimizing execution for modified inputs in graphs: #9485. This was based on one of your design proposals some time ago. |
Purpose
This PR is a copy of the one that Craig made: #9620
Instead of removing the TraceUtils class from from Protocore.Lang namespace, we just obsolete it for now.
Since this trace data is checked for in the Execute function, this part of the code is executed for all the graphs. A small percentage decrease or increase in the run times for those graphs, that take less absolute run times can be ignored.
Performance results comparison with the base line data(for model tests):
Declarations
Check these if you believe they are true
*.resx
filesReviewers
@mjkkirschner @aparajit-pratap @QilongTang @saintentropy