• Julien Muchembled's avatar
    amount_generator: speed up property initialization of generated amounts · 2b2db5cb
    Julien Muchembled authored
    By default, Base._edit first tests each property with getProperty, not to
    modify the object when values don't change. Here, getProperty costs a lot
    (in particular for categories) and rarely/never avoids the use of setters.
    
    So here, the main gain is to do something like _edit(force_update=1).
    As an additional small optimization, we directly use _setProperty instead of
    _edit. We also stop copying int_index from the Amount Generator Line because
    it's not useful enough:
    - float_index may be used instead
    - or dependency-based sorting is enough
    - as a last resort, properties can be fetched directly from the causality
      value, or dynamically with asPredicate and mapped_value_property_list
    2b2db5cb
amount_generator.py 23.9 KB