#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.