-
Notifications
You must be signed in to change notification settings - Fork 121
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
Constructive correction to sluggish expression definition #20149
Conversation
|
||
**Description:** | ||
|
||
SuspendGUIUpdates temporarily suspends updating the GUI after certain CLI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does our single line per sentence guidelines apply in this file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes and no. The tools have been upgraded to wrap the text that gets put into MethodDoc.C
. So, now, yes, you can avoid having to wrap lines manually in this file. But, that did not used to be the case. It used to be that MethodDoc.C
was a verbatim copy of the lines here so that it would display properly in the python interpreter.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was asking because we do single-sentence per line to make it easier to check diffs during code review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed now.
Co-authored-by: Kathleen Biagas <[email protected]>
Co-authored-by: Kathleen Biagas <[email protected]>
Co-authored-by: Kathleen Biagas <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove your cmake file?
@@ -1,14 +1,14 @@ | |||
#/Users/miller86/visit/third_party/3.3.0/cmake/3.24.3/darwin-x86_64/bin/cmake |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should scratlantis.cmake be in this PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for doing this by the way. This is a good band-aid to have while we try to figure out what is going wrong under the hood.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should scratlantis.cmake be in this PR?
Well, I have to update it before doing any more work on develop
so I just thought I'd let it go along for the ride. Ok?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good.
Unfortunately, due to asynchrony between GUI and CLI, the timing values that get printed by the CLI don't reflect the reality of what happens in the GUI. The CLI returns very quickly. But, the GUI remains unresponsive for a long time as all the expression list is updated upon resuming. So, I think this doesn't quite fix things. What would fix things I think is to disable variablemenupopulator at this time too. |
So, We We need one of two things. A way to do bulk addition/deletion of variables (so, everything gets added to the list of variables/expressions and |
Unfortunately, I am going to close this without merging. It does NOT actually fix the issue. The GUI will still be tied up for a very long time as all the asynchronous activity pushed from the CLI drains into it. We really need to just fix the GUI's variable menu population activities. |
@JustinPrivitera now, I guess your remark about |
FYI...I did push some last minute work to the branch associated with this PR primarily for posterity's sake if we ever resurrect this approach in the future...42da2b4 |
42da2b4
Description
Its hard to say this resolves #18925 and #19488 but it does improve performance a ton. It eliminates order n^2 behavior because it bypasses the GUI temporarily.
It introduceds two new CLI methods;
SuspendGUIUpdates()
andResumeGUIUpdates()
. At present, these methods are really specific to expression definitions. I mean, that is all these methods wind up suspending in the way of GUI updates is expression updates. Other GUI updates proceed normally.On my mac, 300 instances in #19488 was taking forever...minutes. I didn't wait. But, with these methods, it takes 6 seconds. And, if I double that count to 600 instances, the time approximately doubles too. So, no more n^2 behavior.
Type of change
[ ] New feature[ ] Documentation update[ ] OtherHow Has This Been Tested?
Reminders:
Checklist:
[ ] I have added debugging support to my changes.[ ] I have confirmed new and existing unit tests pass locally with my changes.[ ] I have added new baselines for any new tests to the repo.