#875 Loss of 5% performance in GeometryGrid
Metadata
Property | Value |
---|---|
Reported by | Martin Nolte (nolte@mathematik.uni-freiburg.de) |
Reported at | Feb 12, 2011 14:53 |
Type | Bug Report |
Version | Git (pre2.4) [autotools] |
Operating System | Unspecified / All |
Last edited by | Martin Nolte (nolte@mathematik.uni-freiburg.de) |
Last edited at | Aug 27, 2012 15:59 |
Closed by | Martin Nolte (nolte@mathematik.uni-freiburg.de) |
Closed at | Aug 27, 2012 15:59 |
Closed in version | Unknown |
Resolution | Works for me |
Comment |
Description
The allocator changes in the GenericGeometry require copying the entire geometry instead of just a pointer. This leads to a performance decrease of up to 5% in an explicit Finite Volume scheme on GeometryGrid. The reason is that the GeometryGrid intersection internally stores a copy of the element geometry.
Hopefully, this performance loss can be regained after changing returned geometries to objects. I seriously doubt this, though.
There is another way to circumvent this copy: Only store a poiner to the entity (not an EntityPointer!). I don't know whether this conforms to the interface, though, since the intersection iterator becomes invalid once the Entity instance on which ibegin / iend was called goes out of scope.