Reduce dependencies feeding into Algorithm base class #4967
Labels
Framework
Issues and pull requests related to components in the Framework
Low Priority
Things that you don't ever want to be done.
This issue was originally TRAC 4120
Original Reporter: Russell Taylor
There are a lot of headers which, if modified, lead to every single algorithm having to be recompiled. This can take a long time! (E.g. on a Mac mini you're looking at something approaching 2 hours).
My sense is that we can reduce this by making more use of forward declarations (thanks to our heavy use of shared pointers).
Originally, we deliberately included more than we needed to in the Algorithm and (Matrix)Workspace base classes. This is so that algorithm writers (who may be users, but in the end rarely/never are) did not need to worry about what includes to use. My feeling is that the drawbacks of this are now greater than the benefits. I will accept that there are arguments for not being as aggressive as may be technically possible.
The text was updated successfully, but these errors were encountered: