Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce dependencies feeding into Algorithm base class #4967

Closed
mantid-builder opened this issue Nov 14, 2011 · 2 comments
Closed

Reduce dependencies feeding into Algorithm base class #4967

mantid-builder opened this issue Nov 14, 2011 · 2 comments
Labels
Framework Issues and pull requests related to components in the Framework Low Priority Things that you don't ever want to be done.

Comments

@mantid-builder
Copy link
Collaborator

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.

@mantid-builder
Copy link
Collaborator Author

Russell Taylor (2011-11-14T22:27:21):
Replace IPeaks header inclusion with forward declaration.

Here's a starter on this one. Re http://trac.mantidproject.org/mantid/ticket/4120.
c5609dd


@NickDraper (2012-01-09T09:45:09):
Moved to iteration 33 at iteration 32 code freeze


Russell Taylor (2012-03-02T18:33:51):
Replace header inclusion with forward declaration. Re http://trac.mantidproject.org/mantid/ticket/4120.
419a9f0


Russell Taylor (2012-03-02T19:37:32):
Remove IPeaksWorkspace & ITableWorkspace from inclusion everywhere.

Specifically from inclusion in WorkspaceFactory.h. Re http://trac.mantidproject.org/mantid/ticket/4120.
Sorry for another long build but pain now = much less pain in future.
c60808a


Russell Taylor (2012-03-06T20:31:14):
Replace header inclusion with forward declaration. Re http://trac.mantidproject.org/mantid/ticket/4120.
419a9f0


Russell Taylor (2012-03-06T20:31:16):
Remove IPeaksWorkspace & ITableWorkspace from inclusion everywhere.

Specifically from inclusion in WorkspaceFactory.h. Re http://trac.mantidproject.org/mantid/ticket/4120.
Sorry for another long build but pain now = much less pain in future.
c60808a


@NickDraper (2012-04-30T14:16:06):
Moved at end of release 2.1


@NickDraper (2012-08-10T12:45:19):
http://www.mantidproject.org/Release_Notes_2_2_Full_List


@NickDraper (2012-10-28T11:42:50):
Moved to release 2.4


@NickDraper (2013-01-28T09:25:17):
Moved at the code freeze for release 2.4


@NickDraper (2013-04-29T09:50:12):
Moved to r2.6 at the end of r2.5


@NickDraper (2013-07-26T13:59:12):
Moved to the Backlog after the code freeze for R2.6


@NickDraper (2014-02-14T11:07:59):
bulk move to assigned at the into of the triage step

@mantid-builder mantid-builder added Low Priority Things that you don't ever want to be done. Framework Issues and pull requests related to components in the Framework labels Jun 3, 2015
@NickDraper
Copy link
Contributor

dupe of #15246

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Framework Issues and pull requests related to components in the Framework Low Priority Things that you don't ever want to be done.
Projects
None yet
Development

No branches or pull requests

2 participants