Which Type of Finite Element Has the Fastest Computation Speed in FEniCSx?

Hello,

I have a question regarding finite element computations in FEniCSx.

If all other conditions (such as problem type, mesh density, boundary conditions, and computational resources) are the same, which type of finite element (e.g., linear elements or other types of elements) generally has the fastest computation speed?

My guess is that linear elements might be the fastest due to their simplicity.

Has anyone conducted any performance comparisons or benchmark tests on this topic?

Linear elements will usually be the fastest element, as they have fewer dofs and lower regularity with will reduce the number of quadrature points used in assembly.

Of course, you have now fixed everything else, including the number of cells per mesh, which can be reduced when you use higher order basis functions, as most problems have convergence proofs depending on the order chosen.

It also depends on if you include the solver time (and what type of solver you want to use) in your timings.

For pure assembly comparisons, see for instance:
https://jsdokken.com/dolfinx-tutorial/chapter4/compiler_parameters.html

Of course, these are widely different finite elements, and you can use them to solve problems in very different ways with various benefits and draw-backs depending on your element.
See for instance:
https://jsdokken.com/fenics22-tutorial/comparing_elements.html
for an illustration of different element pairs used in the context of the Stokes equation.