Optimize UI updates of slicing panel#3735
Conversation
|
Thanks for the PR and fast response! However, in my opinion it would be better to have as little RuleAppListeners as possible, since that obviously is a per-rule overhead. Also, I think it would make sense to have MacroFinish and ProofLoaded events/listeners in any case. |
|
I thought the In this case, the main workload is not to query the graph size of the slicing, rather to calculate the dependency at all. |
|
In the extension settings, there is an option "Always track dependencies". If it is not checked, the dependency graph will be created when needed later. |
I don't think that the RuleAppListeners are disabled in auto mode. Therefore, I think my comment is still valid, and I would prefer to completely get rid of the RuleAppListener for performance reasons. Can we maybe implement the update of the GUI in |
Maybe this should be the default setting then? Also, I noticed that with this flag switched off, the "Dependency Graph" part in the Slicing panel always shows 0 nodes and edges, even after the analysis was run (so the graph for sure is present and non-empty). |
efbacac to
22164b0
Compare
|
I now removed both RuleAppListeners. Not running the dependency tracker during the proof improves performance by 3-5%. The UI updates should be fixed. |
Related Issue
This pull request resolves #3734.
Intended Change
Alternative: add a listener that listens for macro finish and proof loaded events. Though I think we can afford updating the UI twice a second.
Type of pull request
Ensuring quality
Additional information and contact(s)
The contributions within this pull request are licensed under GPLv2 (only) for inclusion in KeY.