]> https://gitweb.dealii.org/ - dealii.git/commit
Break the Manifold interface for performance.
authorDavid Wells <wellsd2@rpi.edu>
Fri, 21 Jul 2017 13:31:43 +0000 (09:31 -0400)
committerDavid Wells <wellsd2@rpi.edu>
Mon, 11 Sep 2017 18:17:09 +0000 (14:17 -0400)
commitb91365f526b6a81e080db8476cb7edf9a89f1cbd
tree7a1e7aa03f3db10df071171650e12c0468662a93
parente0b6fca02addefd716427accfbf71de78d1cba79
Break the Manifold interface for performance.

This commit changes the interfaces of

Manifolds::get_default_points_and_weights
Manifold::project_to_manifold
Manifold::get_new_point
Manifold::add_new_points

to use ArrayView instead of std::vector. In addition, the interface of
add_new_points has been changed to populate the ArrayView argument
instead of appending to the end of the array.

This breaks the public interface of Manifold for the sake of improving
performance by about 30%: profiling indicates that, when creating a grid
with a Manifold, we spend about 30% of our time purely calling new and
delete since we must create and destroy so many std::vectors.
27 files changed:
include/deal.II/grid/manifold.h
include/deal.II/grid/manifold_lib.h
include/deal.II/opencascade/boundary_lib.h
source/fe/mapping_manifold.cc
source/fe/mapping_q_generic.cc
source/grid/manifold.cc
source/grid/manifold_lib.cc
source/grid/tria.cc
source/grid/tria_accessor.cc
source/opencascade/boundary_lib.cc
tests/manifold/chart_manifold_03.cc
tests/manifold/chart_manifold_03_embedded.cc
tests/manifold/chart_manifold_09.cc
tests/manifold/composition_manifold_01.cc
tests/manifold/composition_manifold_02.cc
tests/manifold/composition_manifold_03.cc
tests/manifold/composition_manifold_04.cc
tests/manifold/flat_manifold_03.cc
tests/manifold/flat_manifold_07.cc
tests/manifold/function_manifold_03.cc
tests/manifold/polar_manifold_08.cc
tests/manifold/projection_manifold_01.cc
tests/manifold/spherical_manifold_01.cc
tests/manifold/tensor_product_manifold_01.cc
tests/manifold/transfinite_manifold_01.cc
tests/manifold/transfinite_manifold_02.cc
tests/manifold/transfinite_manifold_04.cc

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.