You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I searched open reports and couldn't find a duplicate
What happened?
I'm Investigating rerender performance where our rerenders are taking over 30 minutes (conda-forge/petsc4py).
after #5281, which reduces total rerender time by ~80% (from 30 minutes to 5), 30% of render time (40 seconds out of 2 minutes for a single render call) is spent in logger.setLevel here (more than in the optimized deepcopy).
If get_logger could avoid re-initializing the logger if it's already been initialized, render could be 30% faster. It's not clear to me what's expected if the args other than name are specified in terms of re-initialization, which prevents me from making a simple PR.
I checked the source code and internally, there is a lock that python needs to acquire in order to set the level. This is likely the source of the slow down.
Checklist
What happened?
I'm Investigating rerender performance where our rerenders are taking over 30 minutes (conda-forge/petsc4py).
after #5281, which reduces total rerender time by ~80% (from 30 minutes to 5), 30% of render time (40 seconds out of 2 minutes for a single render call) is spent in logger.setLevel here (more than in the optimized deepcopy).
If
get_logger
could avoid re-initializing the logger if it's already been initialized, render could be 30% faster. It's not clear to me what's expected if the args other thanname
are specified in terms of re-initialization, which prevents me from making a simple PR.Related to #5224
Conda Info
Conda Config
Conda list
No response
Additional Context
No response
The text was updated successfully, but these errors were encountered: