Ticket #4120 (assigned)

Opened 9 years ago

Last modified 5 years ago

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:1 Changed 9 years ago by Russell Taylor

Replace IPeaks header inclusion with forward declaration.

Here's a starter on this one. Re #4120.

Changeset: c5609dd7ae1b0ce3f9df5ac291b2a897afb9ba8e

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:9 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.2 to Release 2.3

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

Moved to r2.6 at the end of r2.5

comment:13 Changed 7 years ago by Nick Draper

  • Status changed from assigned to new

comment:14 Changed 7 years ago by Nick Draper

  • Component changed from Mantid to Framework

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

Note: See TracTickets for help on using tickets.