From: David Wells Date: Mon, 11 Sep 2017 02:52:54 +0000 (-0400) Subject: Add a changelog entry for the Manifold incompatibities. X-Git-Tag: v9.0.0-rc1~1099^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8bc04f9a6d53a427ec2261961a760f84cd9c890c;p=dealii.git Add a changelog entry for the Manifold incompatibities. --- diff --git a/doc/news/changes/incompatibilities/20170910DavidWells b/doc/news/changes/incompatibilities/20170910DavidWells new file mode 100644 index 0000000000..7714bbf8e2 --- /dev/null +++ b/doc/news/changes/incompatibilities/20170910DavidWells @@ -0,0 +1,19 @@ +Changed: The methods +
    +
  1. Manifold::get_new_point
  2. +
  3. Manifold::project_to_manifold
  4. +
+have had their declarations changed in an incompatible manner: these three +methods now take ArrayView arguments instead of std::vectors. This +change was done for performance reasons: before this change about a third of the +time spent generating a curved grid (in this particular benchmark, a circle +described with polar coordinates and a transfinite interpolation) was used in +allocating and freeing memory used by the std::vector arguments to +Manifold::get_new_point() even though the sizes of the arrays are usually known +at compilation time. This change completely eliminates this allocation cost. + +The method Manifold::add_new_points() has been removed in favor of +Manifold::get_new_points(), which also uses ArrayView arguments instead of +std::vectors. +
+(David Wells, 2017/09/10)