intersystems / intersystems/ipm
Extraneous repeat calls to BuildDependencyGraph()
Open
bug
- Dominant language
- ObjectScript
- Stars
- 41
- Forks
- 29
- Avg merge
- 23h 54m
- Merged PRs (30d)
- 4
Description
After sync loading of dependencies was made the default once #885 was done, there only ever needs to be a single top level call to BuildDependencyGraph. Specifically, BuildDependencyGraph() gets called for every single dependency, which is wasted cycles.
This is observed with extreme severity with a case such as HSLIB, where a high number of modules are affected.
What really should happen, is break LoadNewModule() into two different methods:
1. LoadBaseModule() will load dependent modules (build dependency graph ONCE) before loading itself and
2. LoadDependentModule() will just load itself.
Contributor guide
Assessment
This issue has not been assessed yet.