← Back to team overview

ufl team mailing list archive

Triggers of recompilation of large forms

 

Hello!

I have some large forms, including some 40 exterior facet integrals. I am 
starting to get annoyed by a constant recompilation of these forms. I have 
made pretty clear that each one does not contain any numbers that changes from 
simulation to simulation (Using Constant or Expression for changing 
coefficients). But at arbitrary times, reompilations are triggered and with 
many integrals per form this take times ~5-20min each... The generated code is 
not large, no complex forms, just many integrals. I also use MixedSpaces with 
Real, see other email, with some 10 Real spaces.

I have tried to eliminate any possible triggers for recompilations within my 
own code, change all dicts to ordered dicts and so on. Becuase the forms are 
so big it is almost impossible to debug any signature string from the form. 
They are hundreds of konsole lines long...

Do any of you have any clue of where, for example in UFL I can start debug 
this? 

  * Do all math operators in UFL preserve the orignial order?
  * Are there any dicts involved in storing internal information in a form,
    which the __repr__ command depends on?

Is there another way to represent the uniqeness of a form which might 
eliminate this error?

Johan



Follow ups