On Tue, Jan 28, 2014 at 3:45 PM, Matthew Knepley <knepley@gmail.com> wrote:
On Tue, Jan 28, 2014 at 3:31 PM, Geoffrey Irving <irving@naml.us> wrote:
PetscFEIntegrateJacobian_Basic has four layers of loops:

   e - element
   f - component of field being differentiated
   g - component of field we're differentiating against
   q - quadrature point

It looks like g3_func and friends are being called once for each
combination of (e,f,g,q), even though the calls to g3_func are
independent of (f,g).  If g3_func is expensive, this duplication seems
a bit slow.

It seems like the loops should be flipped to be (e,q,f,g) major order,
with the user functions hoisted up to the (e,q) level.  Is there a
reason not to do this?

Yes, it is stupid. I will fix it.

I did not forget. Pushed today and verified with the SNES ex62 tests.

  Matt
 
   Matt
 

Geoffrey



--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener



--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener