Revise Function::eval implementation
Issue #810
new
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)
-
-
Agree that there is a lot more to do, but it's harder and will involve unpicking UFC.
-
The hard part is rather that changes will break current user side API.
-
- changed milestone to 2018.1
- Log in to comment
There's a lot of other overhead in the dolfin function evaluation so might be best to consider this within a larger context.