You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the current Enso interpreter all lambdas will capture their outer scope, materialising the parent stack frame even if they don't need to. We can optimise this by not materialising the frame unless specifically required to by the variables captured in the lambda.
Specification
Rework the implementation of lambdas such that they do not materialise their parent frame unless necessary.
Acceptance Criteria & Test Cases
The above optimisation has been made.
It results in performance improvements.
The text was updated successfully, but these errors were encountered:
I cannot satisfy the second acceptance criterion – I cannot find a single benchmark that has room for improvement. I've tried refactoring the current benchmarks to take lambdas instead of just performing operations like addition. They have exactly the same scores. So I'm not implementing this – there's no point maintaining additional code when we don't have a tangible reason to. Moving this task to the icebox – maybe it will prove useful at a later stage.
Summary
In the current Enso interpreter all lambdas will capture their outer scope, materialising the parent stack frame even if they don't need to. We can optimise this by not materialising the frame unless specifically required to by the variables captured in the lambda.
Specification
Acceptance Criteria & Test Cases
The text was updated successfully, but these errors were encountered: