-
Notifications
You must be signed in to change notification settings - Fork 94
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
Avoid creating task proxies #5316
Avoid creating task proxies #5316
Conversation
* There is a significant overhead to initiating a `TaskProxy` object. * Avoid doing this where it is not necessary. * In my test with the example in cylc#5315 with `-s TASKS=15 -s CYCLES=1` this reduced the time taken by `expand_graph_window` by ~38% from from 12.2s to `7.54`.
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.
This will alleviate the task proxy creation somewhat.. and no harm in adding it.
However, we can probably get away with not creating task proxies at all.. and just gather the information for the store a different way.. Will look into it.
@@ -651,7 +651,7 @@ def generate_definition_elements(self): | |||
self.parents = parents | |||
|
|||
def increment_graph_window( | |||
self, itask, edge_distance=0, active_id=None, | |||
self, itask, pool, edge_distance=0, active_id=None, |
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.
The pool is available via self.schd
by the way.
Have put up a PR .. it partially supersedes this one: Will run profiling on it, but should be a vast improvement |
|
Superseded by #5319 |
Reduces the impact of #5315 a bit.
TaskProxy
object.with
-s TASKS=15 -s CYCLES=1
this reduced the time taken byexpand_graph_window
by ~38% from from 12.2s to7.54
.Also avoid duplicate
get_platform
calls.Check List
CONTRIBUTING.md
and added my name as a Code Contributor.setup.cfg
andconda-environment.yml
.CHANGES.md
entry included if this is a change that can affect users?.?.x
branch.