]> https://gitweb.dealii.org/ - dealii.git/commit
Move the internal FEValuesViews functions into a new file.
authorDavid Wells <drwells@email.unc.edu>
Fri, 18 Aug 2023 15:59:34 +0000 (11:59 -0400)
committerDavid Wells <drwells@email.unc.edu>
Sat, 19 Aug 2023 15:04:03 +0000 (11:04 -0400)
commit708767cb534b0fdf0beb9dc3d8a035820ced30a5
treea8f3bfe1063120b97308a194143c0f6dfaf02cc6
parent1472e19ee3f88850abda6af7c7b022673e9146a5
Move the internal FEValuesViews functions into a new file.

Most of the compilation work for FEValues is actually the inner functions used
by FEValuesViews objects. Explicitly instantiating these functions in their own
translation unit significantly lowers compilation time. Here are the numbers for
release mode:

master:
- fe_values_views: 7:58 wall time, 4.5 GB max RSS

feature:
- fe_values_views: 0:32 wall time, 1.6 GB max RSS
- fe_values_views_internal: 2:58 wall time, 2.8 GB max RSS

I had to adjust the type signatures (on the first ArrayView argument) to avoid
instantiating things for 'const float' rather than float et al.
include/deal.II/fe/fe_values_views.h
include/deal.II/fe/fe_values_views_internal.h [new file with mode: 0644]
source/fe/CMakeLists.txt
source/fe/fe_values_views.cc
source/fe/fe_values_views_internal.cc [new file with mode: 0644]
source/fe/fe_values_views_internal.inst.in [new file with mode: 0644]

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.