Revise Function::eval implementation

Issue #810 new
Jan Blechta created an issue

Function::eval performs dynamic allocations. Getting rid of them might give a substantial performance improvement. The problem is that this might not be easy while keeping thread-safety.

Possibility is to have two implementations: one thread-safe, one efficient. The question is how to switch between the two (compile-time switch, parameter (probably not a way to go - fetching parameter might have a substantial overhead), function argument (propagated from assembler setting), ...). This needs to be considered also from point of view of testing.

Comments (4)

  1. Martin Sandve Alnæs

    There's a lot of other overhead in the dolfin function evaluation so might be best to consider this within a larger context.

  2. Log in to comment