Ticket #4120 (assigned)
Reduce dependencies feeding into Algorithm base class
Reported by: | Russell Taylor | Owned by: | Anyone |
---|---|---|---|
Priority: | trivial | Milestone: | Backlog |
Component: | Framework | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: |
Description
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.
Change History
comment:2 Changed 9 years ago by Nick Draper
- Owner set to Anyone
- Priority changed from minor to trivial
- Status changed from new to assigned
comment:3 Changed 9 years ago by Nick Draper
- Milestone changed from Iteration 32 to Iteration 33
Moved to iteration 33 at iteration 32 code freeze
comment:4 Changed 9 years ago by Russell Taylor
Replace header inclusion with forward declaration. Re #4120.
Changeset: 419a9f086bc50e5ad1b5401792f0f8d6da0302fd
comment:5 Changed 9 years ago by Russell Taylor
Remove IPeaksWorkspace & ITableWorkspace from inclusion everywhere.
Specifically from inclusion in WorkspaceFactory.h. Re #4120. Sorry for another long build but pain now = much less pain in future.
Changeset: c60808a4d446eace82d3f7ae6809f5e386818e90
comment:6 Changed 9 years ago by Russell Taylor
Replace header inclusion with forward declaration. Re #4120.
Changeset: 419a9f086bc50e5ad1b5401792f0f8d6da0302fd
comment:7 Changed 9 years ago by Russell Taylor
Remove IPeaksWorkspace & ITableWorkspace from inclusion everywhere.
Specifically from inclusion in WorkspaceFactory.h. Re #4120. Sorry for another long build but pain now = much less pain in future.
Changeset: c60808a4d446eace82d3f7ae6809f5e386818e90
comment:8 Changed 8 years ago by Nick Draper
- Milestone changed from Release 2.1 to Release 2.2
Moved at end of release 2.1
comment:10 Changed 8 years ago by Nick Draper
- Milestone changed from Release 2.3 to Release 2.4
Moved to release 2.4
comment:11 Changed 8 years ago by Nick Draper
- Milestone changed from Release 2.4 to Release 2.5
Moved at the code freeze for release 2.4
comment:12 Changed 7 years ago by Nick Draper
- Milestone changed from Release 2.5 to Release 2.6
comment:15 Changed 7 years ago by Nick Draper
- Milestone changed from Release 2.6 to Backlog
Moved to the Backlog after the code freeze for R2.6
comment:16 Changed 7 years ago by Nick Draper
- Status changed from new to assigned
bulk move to assigned at the into of the triage step
comment:17 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 4967
Replace IPeaks header inclusion with forward declaration.
Here's a starter on this one. Re #4120.