[Dune] [#564] Use dynamic polymorphism (Attachment added)

Dune dune at dune-project.org
Mon Oct 12 12:41:51 CEST 2009


THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

The following task has a new comment added:

FS#564 - Use dynamic polymorphism
User who did this - Carsten Gräser (Carsten)

----------
We have constructed a test case to measure the speed difference. It assembles the stiffness matrix and a rhs for the Laplace on a Yaspgrid with 1000x1000 elements 10 times. I only measured the pure assembly without building the sparsity pattern with gcc 4.3.3 (-O3 -funroll-loops) on core2duo T7500.

For this example the average (from 6 runs) runtime without virtual functions was 26.683s with virtual functions you get 28.740s. This is about 7.7% more. Obviously this becomes less if you also count the construction of sparsity, use higher order, ... .

Surprisingly the runtime is about 70s for the non-virtual version with roberts flags added. The same happens if you newly construct the local FE for every element. For the virtual version this does not influence runtime. We only guess that the reason might be that more inlining increases the code size for the inner loops and thus reduces the cache available for your data.

----------

One or more files have been attached.

More information can be found at the following URL:
http://www.dune-project.org/flyspray/index.php?do=details&task_id=564#comment1202

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.




More information about the Dune mailing list