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've noticed that a significant portion of Transport's run time (somewhere between 40% to 70% depending on network size) is spent in _validate_topology_health. Do we really need it?
The text was updated successfully, but these errors were encountered:
We'll this is basically the same as checking to make sure the coefficient matrix won't produce a singular matrix. But perhaps we should add a check_algorithm_health function which users can call on demand instead of making it mandatory.
Yeah, making it a public method which users can call on demand sounds like a good idea.
To back up, I think if the matrix is ill-conditioned, the matrix solver fails to converge, especially the direct ones, so it's kind of already covered by the solver. Iterative solvers are different though, but if a user is advanced enough to pass their own solver to the run method, they might as well learn how to do diagnostics (i.e., call check_algorithm_health, etc.).
On the other hand, these are all performance optimizations the only become relevant when the network becomes large enough. You could argue that for most use cases, it's not noticeable.
I've noticed that a significant portion of
Transport
's run time (somewhere between 40% to 70% depending on network size) is spent in_validate_topology_health
. Do we really need it?The text was updated successfully, but these errors were encountered: