← Back to team overview

ffc team mailing list archive

Re: [Ufl] [Bug 769811] [NEW] JIT cache problem with id(form)

 


On 26/04/11 13:51, Anders Logg wrote:
> On Tue, Apr 26, 2011 at 02:00:50PM +0200, Anders Logg wrote:
>> It feels good that you trust me enough to handle it. ;-)
>>
>> Will add it sometime this afternoon and then we can revisit the JIT
>> compiler caching.
> 
> I'm getting confused here... Looking at preprocess.py in UFL, I see this:
> 

It is confusing. Does the function 'preprocess' do anything that the old
FormData class didn't? It would be easier to follow if Form just had a
member function form_data() that computes and stores data (like it used
to), or if Form had a 'preprocess' function. Having the function
preprocess return a new form is really confusing.

Garth

> 
> def preprocess(form, object_names={}, common_cell=None):
> 
>     ...
> 
>     # Check that form is not already preprocessed
>     if form.form_data() is not None:
>         debug("Form is already preprocessed. Not updating form data.")
>         return form
> 
>     ...
> 
>     # Attach form data to form
>     form._form_data = form_data
> 
>     # Attach preprocessed form to form data
>     form_data._form = form
> 
> 
> And when I look at the blamelist (bzr annotate), it looks like I added
> those lines, so I must have come to my senses and added it back at
> some point (way back). So in conclusion, calling preprocess() should
> not taking any time.
> 
> What am I missing?
> 
> --
> Anders



Follow ups

References