]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Remove the FEValues splits. 15575/head
authorDavid Wells <drwells@email.unc.edu>
Sun, 2 Jul 2023 01:56:08 +0000 (21:56 -0400)
committerDavid Wells <drwells@email.unc.edu>
Sun, 2 Jul 2023 01:56:08 +0000 (21:56 -0400)
Now that we have ReadVector this class is a lot less expensive to compile. In
release mode I timed:

- for 9.5: 85s for all six files
- for ReadVector: 59.1s for all six files
- for all files unified: 42s

The maximum RSS is measured (by /usr/bin/time -v) as 2.6 GB in debug mode so we
are still under our 3 GB rule-of-thumb.

source/fe/CMakeLists.txt
source/fe/fe_values.cc
source/fe/fe_values_inst2.cc [deleted file]
source/fe/fe_values_inst3.cc [deleted file]
source/fe/fe_values_inst4.cc [deleted file]
source/fe/fe_values_inst5.cc [deleted file]
source/fe/fe_values_inst6.cc [deleted file]

index 70fa5d0d2bac76b23ffb5b3d4a47b5229c39da12..c356007e1188017f4fe464f62627bdde4976c0a1 100644 (file)
@@ -68,11 +68,6 @@ set(_unity_include_src
 
 set(_separate_src
   fe_values.cc
-  fe_values_inst2.cc
-  fe_values_inst3.cc
-  fe_values_inst4.cc
-  fe_values_inst5.cc
-  fe_values_inst6.cc
   mapping_fe_field.cc
   mapping_fe_field_inst2.cc
   fe_tools.cc
index ffe9371e6bede26899dcf74bbfcdd53bff6d5b3d..62f3fb96c853a3fff9fbd2c2b01cb4ecb9040c3d 100644 (file)
@@ -4803,10 +4803,7 @@ FESubfaceValues<dim, spacedim>::do_reinit(const unsigned int face_no,
 
 
 /*------------------------------- Explicit Instantiations -------------*/
-#define SPLIT_INSTANTIATIONS_COUNT 6
-#ifndef SPLIT_INSTANTIATIONS_INDEX
-#  define SPLIT_INSTANTIATIONS_INDEX 0
-#endif
+
 #include "fe_values.inst"
 
 DEAL_II_NAMESPACE_CLOSE
diff --git a/source/fe/fe_values_inst2.cc b/source/fe/fe_values_inst2.cc
deleted file mode 100644 (file)
index 248e924..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2013 - 2015 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-// This file compiles the second half of the instantiations from fe_values.cc
-// to get the memory consumption below 1.5gb with gcc.
-
-#define SPLIT_INSTANTIATIONS_INDEX 1
-#include "fe_values.cc"
diff --git a/source/fe/fe_values_inst3.cc b/source/fe/fe_values_inst3.cc
deleted file mode 100644 (file)
index e3e3680..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2018 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#define SPLIT_INSTANTIATIONS_INDEX 2
-#include "fe_values.cc"
diff --git a/source/fe/fe_values_inst4.cc b/source/fe/fe_values_inst4.cc
deleted file mode 100644 (file)
index a057bb5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2018 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#define SPLIT_INSTANTIATIONS_INDEX 3
-#include "fe_values.cc"
diff --git a/source/fe/fe_values_inst5.cc b/source/fe/fe_values_inst5.cc
deleted file mode 100644 (file)
index ce4df48..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2018 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#define SPLIT_INSTANTIATIONS_INDEX 4
-#include "fe_values.cc"
diff --git a/source/fe/fe_values_inst6.cc b/source/fe/fe_values_inst6.cc
deleted file mode 100644 (file)
index 9833794..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-// ---------------------------------------------------------------------
-//
-// Copyright (C) 2018 by the deal.II authors
-//
-// This file is part of the deal.II library.
-//
-// The deal.II library is free software; you can use it, redistribute
-// it, and/or modify it under the terms of the GNU Lesser General
-// Public License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// The full text of the license can be found in the file LICENSE.md at
-// the top level directory of deal.II.
-//
-// ---------------------------------------------------------------------
-
-#define SPLIT_INSTANTIATIONS_INDEX 5
-#include "fe_values.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.