ikarus-project / ikarus

Ikarus is a C++-based library that uses DUNE modules to solve partial differential equations with the finite element method and more.
https://ikarus-project.github.io/
Other
5 stars 3 forks source link

Add clang 16 support and improve compilation time #186

Closed rath3t closed 10 months ago

rath3t commented 10 months ago

Breaking changes

These changes reduces the compilation time of the tests significantly. E.g. GCC-Release took 10.5min before and now needs 7.5min GCC-Debug took 21min before and now needs 9min

The variants with clang-16, which are newly introduced: Clang-Debug takes 8min Clang-Release takes 11min

But overall clang seems to be faster, which is therefore the new recommended compiler

codecov[bot] commented 10 months ago

Codecov Report

Merging #186 (bb4db06) into main (af73d33) will increase coverage by 0.26%. Report is 10 commits behind head on main. The diff coverage is 91.20%.

@@            Coverage Diff             @@
##             main     #186      +/-   ##
==========================================
+ Coverage   90.58%   90.85%   +0.26%     
==========================================
  Files          43       42       -1     
  Lines        2040     1870     -170     
  Branches       13        0      -13     
==========================================
- Hits         1848     1699     -149     
+ Misses        182      171      -11     
+ Partials       10        0      -10     
Flag Coverage Δ
tests 90.85% <91.20%> (+0.26%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
ikarus/assembler/simpleAssemblers.hh 100.00% <100.00%> (ø)
ikarus/assembler/simpleAssemblers.inl 100.00% <100.00%> (ø)
ikarus/finiteElements/feBases/autodiffFE.hh 100.00% <100.00%> (ø)
ikarus/finiteElements/feBases/powerBasisFE.hh 100.00% <ø> (ø)
ikarus/finiteElements/mechanics/linearElastic.hh 89.13% <100.00%> (-9.12%) :arrow_down:
...teElements/mechanics/materials/linearElasticity.hh 100.00% <100.00%> (ø)
ikarus/io/resultFunction.hh 77.77% <100.00%> (-17.23%) :arrow_down:
ikarus/linearAlgebra/dirichletValues.hh 100.00% <ø> (ø)
ikarus/solver/linearSolver/linearSolver.hh 100.00% <100.00%> (+77.64%) :arrow_up:
ikarus/utils/basis.hh 100.00% <ø> (ø)
... and 13 more

... and 19 files with indirect coverage changes

:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!