-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers
Description
Some feature observers don't implement the update() method. For these observers, it would be highly beneficial if they only compute the initialize_features() method once the user calls it.
Observers that would benefit from lazy evaluation are:
CompositeFeatureObserverIsCompletedObserverIsReadyObserver
Implementation suggestion:
For lazy evaluation, these observers could:
- Mark features as "dirty" when
update()is called - Only recompute features in
initialize_features()when they're accessed and marked as dirty - Clear the dirty flag after recomputation
This probably should be the FeatureObserver default behavior, since it already implements the update() method as simply calling initialize_features(). In other words, we should change this class instead of the mentioned ones directly. For IsCompletedObserver we should remove the unnecessary definition of its update() method.
Tasks
- Implement lazy evaluation in
FeatureObserverclass - Remove
IsCompletedObserver'supdate()method
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers