<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 12, 2013 at 11:34 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">  Is it? Maybe a more general definition of PetscSection would be better as map from (int) -> IS   Matt's current usage is very restricted to only contiguous blocks of elements in a group. Need that be it? Should that be it?</blockquote>
</div><br>There is some hackery to ascribe "field" structure to the output of the map, but I'm skeptical of whether it belongs at this level.</div><div class="gmail_extra"><br></div><div class="gmail_extra" style>
The granularity is normally very small so we certainly don't want to pay the memory or performance overhead of an IS for each output. Although I'm sure we can think up scenarios where that flexibility would be useful, I think generality in the outputs here would add significant complexity with limited practical return.</div>
<div class="gmail_extra" style><br></div><div class="gmail_extra" style>Note that PetscSection is currently accessed using function calls in inner loops. This already accounts for a noticeable amount of time for a CFD application. So we either need a coarser grained access API or we need a non-polymorphic accessor for use in hot access sites. (This is a rare case where indirect function call overhead matters.)</div>
</div>