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

Split VectorTools up #9929

Merged
merged 5 commits into from
Apr 23, 2020
Merged

Conversation

masterleinad
Copy link
Member

Related to #9790. This also allows to only include smaller headers than all of VectorTools but I didn't make that transition for the examples or the tests.

The approach taken here, was to first split up the template file using the instantiations files and then splitting vector_tools.h matching the template files. If we don't want to split up vector_tools.h it's easy enough to revert that.

The actual changes are pretty small, it's mostly only moving code around.
Some things that changed:

  • using more forward declarations
  • some more explicit instantiations for dim<spacedim for the boundary functions. We were previously generating them implicitly through the project functions.

I verified manually that the documentation didn't change at first sight.

Copy link
Member

@tamiko tamiko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the categorization. It is extermely hard to display the 13k line changes here, so I will trust you that they are split up appropriately :-)

@tamiko tamiko added this to the Release 9.2 milestone Apr 21, 2020
@tamiko
Copy link
Member

tamiko commented Apr 21, 2020

/rebuild

@masterleinad
Copy link
Member Author

Yes, the commit history is not super clean. I can try to get every commit compiling but that's quite some more work. Otherwise, I would just squash into a few commits.

@tamiko
Copy link
Member

tamiko commented Apr 21, 2020

Squashing at the end and having the full CI pass is all we need :-)

@masterleinad
Copy link
Member Author

/rebuild

@bangerth
Copy link
Member

Have you measured what this means for the overall CPU time? Many of us have many-core machines where this kind of change makes sense if you do -jmany. But what happens if you do -j1 or just make? Does this lead to appreciably longer compile times? Should we care about this case?

@masterleinad
Copy link
Member Author

I didn't change the targets.

@bangerth
Copy link
Member

Oh, I see -- I hadn't paid enough attention to the fact that you're not splitting up which functions are compiled in which .cc file.

@masterleinad
Copy link
Member Author

Squashed.

Copy link
Member

@kronbichler kronbichler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That gets a big thumbs up 👍 by me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants